
zio.aws.storagegateway.model.FileSystemAssociationInfo.scala Maven / Gradle / Ivy
package zio.aws.storagegateway.model
import zio.aws.storagegateway.model.primitives.{
FileSystemLocationARN,
AuditDestinationARN,
FileSystemAssociationStatus,
FileSystemAssociationARN,
GatewayARN
}
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import scala.jdk.CollectionConverters._
final case class FileSystemAssociationInfo(
fileSystemAssociationARN: Optional[FileSystemAssociationARN] =
Optional.Absent,
locationARN: Optional[FileSystemLocationARN] = Optional.Absent,
fileSystemAssociationStatus: Optional[FileSystemAssociationStatus] =
Optional.Absent,
auditDestinationARN: Optional[AuditDestinationARN] = Optional.Absent,
gatewayARN: Optional[GatewayARN] = Optional.Absent,
tags: Optional[Iterable[zio.aws.storagegateway.model.Tag]] =
Optional.Absent,
cacheAttributes: Optional[zio.aws.storagegateway.model.CacheAttributes] =
Optional.Absent,
endpointNetworkConfiguration: Optional[
zio.aws.storagegateway.model.EndpointNetworkConfiguration
] = Optional.Absent,
fileSystemAssociationStatusDetails: Optional[
Iterable[zio.aws.storagegateway.model.FileSystemAssociationStatusDetail]
] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.storagegateway.model.FileSystemAssociationInfo = {
import FileSystemAssociationInfo.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.storagegateway.model.FileSystemAssociationInfo
.builder()
.optionallyWith(
fileSystemAssociationARN.map(value =>
FileSystemAssociationARN.unwrap(value): java.lang.String
)
)(_.fileSystemAssociationARN)
.optionallyWith(
locationARN.map(value =>
FileSystemLocationARN.unwrap(value): java.lang.String
)
)(_.locationARN)
.optionallyWith(
fileSystemAssociationStatus.map(value =>
FileSystemAssociationStatus.unwrap(value): java.lang.String
)
)(_.fileSystemAssociationStatus)
.optionallyWith(
auditDestinationARN.map(value =>
AuditDestinationARN.unwrap(value): java.lang.String
)
)(_.auditDestinationARN)
.optionallyWith(
gatewayARN.map(value => GatewayARN.unwrap(value): java.lang.String)
)(_.gatewayARN)
.optionallyWith(
tags.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.tags)
.optionallyWith(cacheAttributes.map(value => value.buildAwsValue()))(
_.cacheAttributes
)
.optionallyWith(
endpointNetworkConfiguration.map(value => value.buildAwsValue())
)(_.endpointNetworkConfiguration)
.optionallyWith(
fileSystemAssociationStatusDetails.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.fileSystemAssociationStatusDetails)
.build()
}
def asReadOnly
: zio.aws.storagegateway.model.FileSystemAssociationInfo.ReadOnly =
zio.aws.storagegateway.model.FileSystemAssociationInfo.wrap(buildAwsValue())
}
object FileSystemAssociationInfo {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.storagegateway.model.FileSystemAssociationInfo
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.storagegateway.model.FileSystemAssociationInfo =
zio.aws.storagegateway.model.FileSystemAssociationInfo(
fileSystemAssociationARN.map(value => value),
locationARN.map(value => value),
fileSystemAssociationStatus.map(value => value),
auditDestinationARN.map(value => value),
gatewayARN.map(value => value),
tags.map(value =>
value.map { item =>
item.asEditable
}
),
cacheAttributes.map(value => value.asEditable),
endpointNetworkConfiguration.map(value => value.asEditable),
fileSystemAssociationStatusDetails.map(value =>
value.map { item =>
item.asEditable
}
)
)
def fileSystemAssociationARN: Optional[FileSystemAssociationARN]
def locationARN: Optional[FileSystemLocationARN]
def fileSystemAssociationStatus: Optional[FileSystemAssociationStatus]
def auditDestinationARN: Optional[AuditDestinationARN]
def gatewayARN: Optional[GatewayARN]
def tags: Optional[List[zio.aws.storagegateway.model.Tag.ReadOnly]]
def cacheAttributes
: Optional[zio.aws.storagegateway.model.CacheAttributes.ReadOnly]
def endpointNetworkConfiguration: Optional[
zio.aws.storagegateway.model.EndpointNetworkConfiguration.ReadOnly
]
def fileSystemAssociationStatusDetails: Optional[List[
zio.aws.storagegateway.model.FileSystemAssociationStatusDetail.ReadOnly
]]
def getFileSystemAssociationARN
: ZIO[Any, AwsError, FileSystemAssociationARN] = AwsError
.unwrapOptionField("fileSystemAssociationARN", fileSystemAssociationARN)
def getLocationARN: ZIO[Any, AwsError, FileSystemLocationARN] =
AwsError.unwrapOptionField("locationARN", locationARN)
def getFileSystemAssociationStatus
: ZIO[Any, AwsError, FileSystemAssociationStatus] =
AwsError.unwrapOptionField(
"fileSystemAssociationStatus",
fileSystemAssociationStatus
)
def getAuditDestinationARN: ZIO[Any, AwsError, AuditDestinationARN] =
AwsError.unwrapOptionField("auditDestinationARN", auditDestinationARN)
def getGatewayARN: ZIO[Any, AwsError, GatewayARN] =
AwsError.unwrapOptionField("gatewayARN", gatewayARN)
def getTags
: ZIO[Any, AwsError, List[zio.aws.storagegateway.model.Tag.ReadOnly]] =
AwsError.unwrapOptionField("tags", tags)
def getCacheAttributes: ZIO[
Any,
AwsError,
zio.aws.storagegateway.model.CacheAttributes.ReadOnly
] = AwsError.unwrapOptionField("cacheAttributes", cacheAttributes)
def getEndpointNetworkConfiguration: ZIO[
Any,
AwsError,
zio.aws.storagegateway.model.EndpointNetworkConfiguration.ReadOnly
] = AwsError.unwrapOptionField(
"endpointNetworkConfiguration",
endpointNetworkConfiguration
)
def getFileSystemAssociationStatusDetails: ZIO[Any, AwsError, List[
zio.aws.storagegateway.model.FileSystemAssociationStatusDetail.ReadOnly
]] = AwsError.unwrapOptionField(
"fileSystemAssociationStatusDetails",
fileSystemAssociationStatusDetails
)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.storagegateway.model.FileSystemAssociationInfo
) extends zio.aws.storagegateway.model.FileSystemAssociationInfo.ReadOnly {
override val fileSystemAssociationARN: Optional[FileSystemAssociationARN] =
zio.aws.core.internal
.optionalFromNullable(impl.fileSystemAssociationARN())
.map(value =>
zio.aws.storagegateway.model.primitives
.FileSystemAssociationARN(value)
)
override val locationARN: Optional[FileSystemLocationARN] =
zio.aws.core.internal
.optionalFromNullable(impl.locationARN())
.map(value =>
zio.aws.storagegateway.model.primitives.FileSystemLocationARN(value)
)
override val fileSystemAssociationStatus
: Optional[FileSystemAssociationStatus] = zio.aws.core.internal
.optionalFromNullable(impl.fileSystemAssociationStatus())
.map(value =>
zio.aws.storagegateway.model.primitives
.FileSystemAssociationStatus(value)
)
override val auditDestinationARN: Optional[AuditDestinationARN] =
zio.aws.core.internal
.optionalFromNullable(impl.auditDestinationARN())
.map(value =>
zio.aws.storagegateway.model.primitives.AuditDestinationARN(value)
)
override val gatewayARN: Optional[GatewayARN] = zio.aws.core.internal
.optionalFromNullable(impl.gatewayARN())
.map(value => zio.aws.storagegateway.model.primitives.GatewayARN(value))
override val tags
: Optional[List[zio.aws.storagegateway.model.Tag.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.tags())
.map(value =>
value.asScala.map { item =>
zio.aws.storagegateway.model.Tag.wrap(item)
}.toList
)
override val cacheAttributes
: Optional[zio.aws.storagegateway.model.CacheAttributes.ReadOnly] =
zio.aws.core.internal
.optionalFromNullable(impl.cacheAttributes())
.map(value => zio.aws.storagegateway.model.CacheAttributes.wrap(value))
override val endpointNetworkConfiguration: Optional[
zio.aws.storagegateway.model.EndpointNetworkConfiguration.ReadOnly
] = zio.aws.core.internal
.optionalFromNullable(impl.endpointNetworkConfiguration())
.map(value =>
zio.aws.storagegateway.model.EndpointNetworkConfiguration.wrap(value)
)
override val fileSystemAssociationStatusDetails: Optional[List[
zio.aws.storagegateway.model.FileSystemAssociationStatusDetail.ReadOnly
]] = zio.aws.core.internal
.optionalFromNullable(impl.fileSystemAssociationStatusDetails())
.map(value =>
value.asScala.map { item =>
zio.aws.storagegateway.model.FileSystemAssociationStatusDetail
.wrap(item)
}.toList
)
}
def wrap(
impl: software.amazon.awssdk.services.storagegateway.model.FileSystemAssociationInfo
): zio.aws.storagegateway.model.FileSystemAssociationInfo.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy