
io.github.vigoo.zioaws.datasync.model.Options.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.datasync.model
import zio.ZIO
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import io.github.vigoo.zioaws.datasync.model.primitives.BytesPerSecond
import scala.jdk.CollectionConverters._
final case class Options(
verifyMode: Option[io.github.vigoo.zioaws.datasync.model.VerifyMode] = None,
overwriteMode: Option[io.github.vigoo.zioaws.datasync.model.OverwriteMode] =
None,
atime: Option[io.github.vigoo.zioaws.datasync.model.Atime] = None,
mtime: Option[io.github.vigoo.zioaws.datasync.model.Mtime] = None,
uid: Option[io.github.vigoo.zioaws.datasync.model.Uid] = None,
gid: Option[io.github.vigoo.zioaws.datasync.model.Gid] = None,
preserveDeletedFiles: Option[
io.github.vigoo.zioaws.datasync.model.PreserveDeletedFiles
] = None,
preserveDevices: Option[
io.github.vigoo.zioaws.datasync.model.PreserveDevices
] = None,
posixPermissions: Option[
io.github.vigoo.zioaws.datasync.model.PosixPermissions
] = None,
bytesPerSecond: Option[BytesPerSecond] = None,
taskQueueing: Option[io.github.vigoo.zioaws.datasync.model.TaskQueueing] =
None,
logLevel: Option[io.github.vigoo.zioaws.datasync.model.LogLevel] = None,
transferMode: Option[io.github.vigoo.zioaws.datasync.model.TransferMode] =
None,
securityDescriptorCopyFlags: Option[
io.github.vigoo.zioaws.datasync.model.SmbSecurityDescriptorCopyFlags
] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.datasync.model.Options = {
import Options.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.datasync.model.Options
.builder()
.optionallyWith(verifyMode.map(value => value.unwrap))(_.verifyMode)
.optionallyWith(overwriteMode.map(value => value.unwrap))(_.overwriteMode)
.optionallyWith(atime.map(value => value.unwrap))(_.atime)
.optionallyWith(mtime.map(value => value.unwrap))(_.mtime)
.optionallyWith(uid.map(value => value.unwrap))(_.uid)
.optionallyWith(gid.map(value => value.unwrap))(_.gid)
.optionallyWith(preserveDeletedFiles.map(value => value.unwrap))(
_.preserveDeletedFiles
)
.optionallyWith(preserveDevices.map(value => value.unwrap))(
_.preserveDevices
)
.optionallyWith(posixPermissions.map(value => value.unwrap))(
_.posixPermissions
)
.optionallyWith(bytesPerSecond.map(value => value: java.lang.Long))(
_.bytesPerSecond
)
.optionallyWith(taskQueueing.map(value => value.unwrap))(_.taskQueueing)
.optionallyWith(logLevel.map(value => value.unwrap))(_.logLevel)
.optionallyWith(transferMode.map(value => value.unwrap))(_.transferMode)
.optionallyWith(securityDescriptorCopyFlags.map(value => value.unwrap))(
_.securityDescriptorCopyFlags
)
.build()
}
def asReadOnly: io.github.vigoo.zioaws.datasync.model.Options.ReadOnly =
io.github.vigoo.zioaws.datasync.model.Options.wrap(buildAwsValue())
}
object Options {
private lazy val zioAwsBuilderHelper
: BuilderHelper[software.amazon.awssdk.services.datasync.model.Options] =
BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.datasync.model.Options =
io.github.vigoo.zioaws.datasync.model.Options(
verifyModeValue.map(value => value),
overwriteModeValue.map(value => value),
atimeValue.map(value => value),
mtimeValue.map(value => value),
uidValue.map(value => value),
gidValue.map(value => value),
preserveDeletedFilesValue.map(value => value),
preserveDevicesValue.map(value => value),
posixPermissionsValue.map(value => value),
bytesPerSecondValue.map(value => value),
taskQueueingValue.map(value => value),
logLevelValue.map(value => value),
transferModeValue.map(value => value),
securityDescriptorCopyFlagsValue.map(value => value)
)
def verifyModeValue
: Option[io.github.vigoo.zioaws.datasync.model.VerifyMode]
def overwriteModeValue
: Option[io.github.vigoo.zioaws.datasync.model.OverwriteMode]
def atimeValue: Option[io.github.vigoo.zioaws.datasync.model.Atime]
def mtimeValue: Option[io.github.vigoo.zioaws.datasync.model.Mtime]
def uidValue: Option[io.github.vigoo.zioaws.datasync.model.Uid]
def gidValue: Option[io.github.vigoo.zioaws.datasync.model.Gid]
def preserveDeletedFilesValue
: Option[io.github.vigoo.zioaws.datasync.model.PreserveDeletedFiles]
def preserveDevicesValue
: Option[io.github.vigoo.zioaws.datasync.model.PreserveDevices]
def posixPermissionsValue
: Option[io.github.vigoo.zioaws.datasync.model.PosixPermissions]
def bytesPerSecondValue: Option[BytesPerSecond]
def taskQueueingValue
: Option[io.github.vigoo.zioaws.datasync.model.TaskQueueing]
def logLevelValue: Option[io.github.vigoo.zioaws.datasync.model.LogLevel]
def transferModeValue
: Option[io.github.vigoo.zioaws.datasync.model.TransferMode]
def securityDescriptorCopyFlagsValue: Option[
io.github.vigoo.zioaws.datasync.model.SmbSecurityDescriptorCopyFlags
]
def verifyMode
: ZIO[Any, AwsError, io.github.vigoo.zioaws.datasync.model.VerifyMode] =
AwsError.unwrapOptionField("verifyMode", verifyModeValue)
def overwriteMode: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.datasync.model.OverwriteMode
] = AwsError.unwrapOptionField("overwriteMode", overwriteModeValue)
def atime: ZIO[Any, AwsError, io.github.vigoo.zioaws.datasync.model.Atime] =
AwsError.unwrapOptionField("atime", atimeValue)
def mtime: ZIO[Any, AwsError, io.github.vigoo.zioaws.datasync.model.Mtime] =
AwsError.unwrapOptionField("mtime", mtimeValue)
def uid: ZIO[Any, AwsError, io.github.vigoo.zioaws.datasync.model.Uid] =
AwsError.unwrapOptionField("uid", uidValue)
def gid: ZIO[Any, AwsError, io.github.vigoo.zioaws.datasync.model.Gid] =
AwsError.unwrapOptionField("gid", gidValue)
def preserveDeletedFiles: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.datasync.model.PreserveDeletedFiles
] = AwsError.unwrapOptionField(
"preserveDeletedFiles",
preserveDeletedFilesValue
)
def preserveDevices: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.datasync.model.PreserveDevices
] = AwsError.unwrapOptionField("preserveDevices", preserveDevicesValue)
def posixPermissions: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.datasync.model.PosixPermissions
] = AwsError.unwrapOptionField("posixPermissions", posixPermissionsValue)
def bytesPerSecond: ZIO[Any, AwsError, BytesPerSecond] =
AwsError.unwrapOptionField("bytesPerSecond", bytesPerSecondValue)
def taskQueueing: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.datasync.model.TaskQueueing
] = AwsError.unwrapOptionField("taskQueueing", taskQueueingValue)
def logLevel
: ZIO[Any, AwsError, io.github.vigoo.zioaws.datasync.model.LogLevel] =
AwsError.unwrapOptionField("logLevel", logLevelValue)
def transferMode: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.datasync.model.TransferMode
] = AwsError.unwrapOptionField("transferMode", transferModeValue)
def securityDescriptorCopyFlags: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.datasync.model.SmbSecurityDescriptorCopyFlags
] = AwsError.unwrapOptionField(
"securityDescriptorCopyFlags",
securityDescriptorCopyFlagsValue
)
}
private class Wrapper(
impl: software.amazon.awssdk.services.datasync.model.Options
) extends io.github.vigoo.zioaws.datasync.model.Options.ReadOnly {
override def verifyModeValue
: Option[io.github.vigoo.zioaws.datasync.model.VerifyMode] = scala
.Option(impl.verifyMode())
.map(value =>
io.github.vigoo.zioaws.datasync.model.VerifyMode.wrap(value)
)
override def overwriteModeValue
: Option[io.github.vigoo.zioaws.datasync.model.OverwriteMode] = scala
.Option(impl.overwriteMode())
.map(value =>
io.github.vigoo.zioaws.datasync.model.OverwriteMode.wrap(value)
)
override def atimeValue
: Option[io.github.vigoo.zioaws.datasync.model.Atime] = scala
.Option(impl.atime())
.map(value => io.github.vigoo.zioaws.datasync.model.Atime.wrap(value))
override def mtimeValue
: Option[io.github.vigoo.zioaws.datasync.model.Mtime] = scala
.Option(impl.mtime())
.map(value => io.github.vigoo.zioaws.datasync.model.Mtime.wrap(value))
override def uidValue: Option[io.github.vigoo.zioaws.datasync.model.Uid] =
scala
.Option(impl.uid())
.map(value => io.github.vigoo.zioaws.datasync.model.Uid.wrap(value))
override def gidValue: Option[io.github.vigoo.zioaws.datasync.model.Gid] =
scala
.Option(impl.gid())
.map(value => io.github.vigoo.zioaws.datasync.model.Gid.wrap(value))
override def preserveDeletedFilesValue
: Option[io.github.vigoo.zioaws.datasync.model.PreserveDeletedFiles] =
scala
.Option(impl.preserveDeletedFiles())
.map(value =>
io.github.vigoo.zioaws.datasync.model.PreserveDeletedFiles.wrap(value)
)
override def preserveDevicesValue
: Option[io.github.vigoo.zioaws.datasync.model.PreserveDevices] = scala
.Option(impl.preserveDevices())
.map(value =>
io.github.vigoo.zioaws.datasync.model.PreserveDevices.wrap(value)
)
override def posixPermissionsValue
: Option[io.github.vigoo.zioaws.datasync.model.PosixPermissions] = scala
.Option(impl.posixPermissions())
.map(value =>
io.github.vigoo.zioaws.datasync.model.PosixPermissions.wrap(value)
)
override def bytesPerSecondValue: Option[BytesPerSecond] =
scala.Option(impl.bytesPerSecond()).map(value => value: BytesPerSecond)
override def taskQueueingValue
: Option[io.github.vigoo.zioaws.datasync.model.TaskQueueing] = scala
.Option(impl.taskQueueing())
.map(value =>
io.github.vigoo.zioaws.datasync.model.TaskQueueing.wrap(value)
)
override def logLevelValue
: Option[io.github.vigoo.zioaws.datasync.model.LogLevel] = scala
.Option(impl.logLevel())
.map(value => io.github.vigoo.zioaws.datasync.model.LogLevel.wrap(value))
override def transferModeValue
: Option[io.github.vigoo.zioaws.datasync.model.TransferMode] = scala
.Option(impl.transferMode())
.map(value =>
io.github.vigoo.zioaws.datasync.model.TransferMode.wrap(value)
)
override def securityDescriptorCopyFlagsValue: Option[
io.github.vigoo.zioaws.datasync.model.SmbSecurityDescriptorCopyFlags
] = scala
.Option(impl.securityDescriptorCopyFlags())
.map(value =>
io.github.vigoo.zioaws.datasync.model.SmbSecurityDescriptorCopyFlags
.wrap(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.datasync.model.Options
): io.github.vigoo.zioaws.datasync.model.Options.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy