{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.DataSync.Types.Options where
import qualified Amazonka.Core as Core
import Amazonka.DataSync.Types.Atime
import Amazonka.DataSync.Types.Gid
import Amazonka.DataSync.Types.LogLevel
import Amazonka.DataSync.Types.Mtime
import Amazonka.DataSync.Types.OverwriteMode
import Amazonka.DataSync.Types.PosixPermissions
import Amazonka.DataSync.Types.PreserveDeletedFiles
import Amazonka.DataSync.Types.PreserveDevices
import Amazonka.DataSync.Types.SmbSecurityDescriptorCopyFlags
import Amazonka.DataSync.Types.TaskQueueing
import Amazonka.DataSync.Types.TransferMode
import Amazonka.DataSync.Types.Uid
import Amazonka.DataSync.Types.VerifyMode
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
data Options = Options'
{
Options -> Maybe Atime
atime :: Prelude.Maybe Atime,
Options -> Maybe VerifyMode
verifyMode :: Prelude.Maybe VerifyMode,
Options -> Maybe TaskQueueing
taskQueueing :: Prelude.Maybe TaskQueueing,
Options -> Maybe LogLevel
logLevel :: Prelude.Maybe LogLevel,
Options -> Maybe PosixPermissions
posixPermissions :: Prelude.Maybe PosixPermissions,
Options -> Maybe Mtime
mtime :: Prelude.Maybe Mtime,
Options -> Maybe Uid
uid :: Prelude.Maybe Uid,
Options -> Maybe Integer
bytesPerSecond :: Prelude.Maybe Prelude.Integer,
Options -> Maybe SmbSecurityDescriptorCopyFlags
securityDescriptorCopyFlags :: Prelude.Maybe SmbSecurityDescriptorCopyFlags,
Options -> Maybe Gid
gid :: Prelude.Maybe Gid,
Options -> Maybe OverwriteMode
overwriteMode :: Prelude.Maybe OverwriteMode,
Options -> Maybe TransferMode
transferMode :: Prelude.Maybe TransferMode,
Options -> Maybe PreserveDeletedFiles
preserveDeletedFiles :: Prelude.Maybe PreserveDeletedFiles,
Options -> Maybe PreserveDevices
preserveDevices :: Prelude.Maybe PreserveDevices
}
deriving (Options -> Options -> Bool
(Options -> Options -> Bool)
-> (Options -> Options -> Bool) -> Eq Options
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Options -> Options -> Bool
$c/= :: Options -> Options -> Bool
== :: Options -> Options -> Bool
$c== :: Options -> Options -> Bool
Prelude.Eq, ReadPrec [Options]
ReadPrec Options
Int -> ReadS Options
ReadS [Options]
(Int -> ReadS Options)
-> ReadS [Options]
-> ReadPrec Options
-> ReadPrec [Options]
-> Read Options
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Options]
$creadListPrec :: ReadPrec [Options]
readPrec :: ReadPrec Options
$creadPrec :: ReadPrec Options
readList :: ReadS [Options]
$creadList :: ReadS [Options]
readsPrec :: Int -> ReadS Options
$creadsPrec :: Int -> ReadS Options
Prelude.Read, Int -> Options -> ShowS
[Options] -> ShowS
Options -> String
(Int -> Options -> ShowS)
-> (Options -> String) -> ([Options] -> ShowS) -> Show Options
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Options] -> ShowS
$cshowList :: [Options] -> ShowS
show :: Options -> String
$cshow :: Options -> String
showsPrec :: Int -> Options -> ShowS
$cshowsPrec :: Int -> Options -> ShowS
Prelude.Show, (forall x. Options -> Rep Options x)
-> (forall x. Rep Options x -> Options) -> Generic Options
forall x. Rep Options x -> Options
forall x. Options -> Rep Options x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Options x -> Options
$cfrom :: forall x. Options -> Rep Options x
Prelude.Generic)
newOptions ::
Options
newOptions :: Options
newOptions =
Options' :: Maybe Atime
-> Maybe VerifyMode
-> Maybe TaskQueueing
-> Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options
Options'
{ $sel:atime:Options' :: Maybe Atime
atime = Maybe Atime
forall a. Maybe a
Prelude.Nothing,
$sel:verifyMode:Options' :: Maybe VerifyMode
verifyMode = Maybe VerifyMode
forall a. Maybe a
Prelude.Nothing,
$sel:taskQueueing:Options' :: Maybe TaskQueueing
taskQueueing = Maybe TaskQueueing
forall a. Maybe a
Prelude.Nothing,
$sel:logLevel:Options' :: Maybe LogLevel
logLevel = Maybe LogLevel
forall a. Maybe a
Prelude.Nothing,
$sel:posixPermissions:Options' :: Maybe PosixPermissions
posixPermissions = Maybe PosixPermissions
forall a. Maybe a
Prelude.Nothing,
$sel:mtime:Options' :: Maybe Mtime
mtime = Maybe Mtime
forall a. Maybe a
Prelude.Nothing,
$sel:uid:Options' :: Maybe Uid
uid = Maybe Uid
forall a. Maybe a
Prelude.Nothing,
$sel:bytesPerSecond:Options' :: Maybe Integer
bytesPerSecond = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
$sel:securityDescriptorCopyFlags:Options' :: Maybe SmbSecurityDescriptorCopyFlags
securityDescriptorCopyFlags = Maybe SmbSecurityDescriptorCopyFlags
forall a. Maybe a
Prelude.Nothing,
$sel:gid:Options' :: Maybe Gid
gid = Maybe Gid
forall a. Maybe a
Prelude.Nothing,
$sel:overwriteMode:Options' :: Maybe OverwriteMode
overwriteMode = Maybe OverwriteMode
forall a. Maybe a
Prelude.Nothing,
$sel:transferMode:Options' :: Maybe TransferMode
transferMode = Maybe TransferMode
forall a. Maybe a
Prelude.Nothing,
$sel:preserveDeletedFiles:Options' :: Maybe PreserveDeletedFiles
preserveDeletedFiles = Maybe PreserveDeletedFiles
forall a. Maybe a
Prelude.Nothing,
$sel:preserveDevices:Options' :: Maybe PreserveDevices
preserveDevices = Maybe PreserveDevices
forall a. Maybe a
Prelude.Nothing
}
options_atime :: Lens.Lens' Options (Prelude.Maybe Atime)
options_atime :: (Maybe Atime -> f (Maybe Atime)) -> Options -> f Options
options_atime = (Options -> Maybe Atime)
-> (Options -> Maybe Atime -> Options)
-> Lens Options Options (Maybe Atime) (Maybe Atime)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe Atime
atime :: Maybe Atime
$sel:atime:Options' :: Options -> Maybe Atime
atime} -> Maybe Atime
atime) (\s :: Options
s@Options' {} Maybe Atime
a -> Options
s {$sel:atime:Options' :: Maybe Atime
atime = Maybe Atime
a} :: Options)
options_verifyMode :: Lens.Lens' Options (Prelude.Maybe VerifyMode)
options_verifyMode :: (Maybe VerifyMode -> f (Maybe VerifyMode)) -> Options -> f Options
options_verifyMode = (Options -> Maybe VerifyMode)
-> (Options -> Maybe VerifyMode -> Options)
-> Lens Options Options (Maybe VerifyMode) (Maybe VerifyMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe VerifyMode
verifyMode :: Maybe VerifyMode
$sel:verifyMode:Options' :: Options -> Maybe VerifyMode
verifyMode} -> Maybe VerifyMode
verifyMode) (\s :: Options
s@Options' {} Maybe VerifyMode
a -> Options
s {$sel:verifyMode:Options' :: Maybe VerifyMode
verifyMode = Maybe VerifyMode
a} :: Options)
options_taskQueueing :: Lens.Lens' Options (Prelude.Maybe TaskQueueing)
options_taskQueueing :: (Maybe TaskQueueing -> f (Maybe TaskQueueing))
-> Options -> f Options
options_taskQueueing = (Options -> Maybe TaskQueueing)
-> (Options -> Maybe TaskQueueing -> Options)
-> Lens Options Options (Maybe TaskQueueing) (Maybe TaskQueueing)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe TaskQueueing
taskQueueing :: Maybe TaskQueueing
$sel:taskQueueing:Options' :: Options -> Maybe TaskQueueing
taskQueueing} -> Maybe TaskQueueing
taskQueueing) (\s :: Options
s@Options' {} Maybe TaskQueueing
a -> Options
s {$sel:taskQueueing:Options' :: Maybe TaskQueueing
taskQueueing = Maybe TaskQueueing
a} :: Options)
options_logLevel :: Lens.Lens' Options (Prelude.Maybe LogLevel)
options_logLevel :: (Maybe LogLevel -> f (Maybe LogLevel)) -> Options -> f Options
options_logLevel = (Options -> Maybe LogLevel)
-> (Options -> Maybe LogLevel -> Options)
-> Lens Options Options (Maybe LogLevel) (Maybe LogLevel)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe LogLevel
logLevel :: Maybe LogLevel
$sel:logLevel:Options' :: Options -> Maybe LogLevel
logLevel} -> Maybe LogLevel
logLevel) (\s :: Options
s@Options' {} Maybe LogLevel
a -> Options
s {$sel:logLevel:Options' :: Maybe LogLevel
logLevel = Maybe LogLevel
a} :: Options)
options_posixPermissions :: Lens.Lens' Options (Prelude.Maybe PosixPermissions)
options_posixPermissions :: (Maybe PosixPermissions -> f (Maybe PosixPermissions))
-> Options -> f Options
options_posixPermissions = (Options -> Maybe PosixPermissions)
-> (Options -> Maybe PosixPermissions -> Options)
-> Lens
Options Options (Maybe PosixPermissions) (Maybe PosixPermissions)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe PosixPermissions
posixPermissions :: Maybe PosixPermissions
$sel:posixPermissions:Options' :: Options -> Maybe PosixPermissions
posixPermissions} -> Maybe PosixPermissions
posixPermissions) (\s :: Options
s@Options' {} Maybe PosixPermissions
a -> Options
s {$sel:posixPermissions:Options' :: Maybe PosixPermissions
posixPermissions = Maybe PosixPermissions
a} :: Options)
options_mtime :: Lens.Lens' Options (Prelude.Maybe Mtime)
options_mtime :: (Maybe Mtime -> f (Maybe Mtime)) -> Options -> f Options
options_mtime = (Options -> Maybe Mtime)
-> (Options -> Maybe Mtime -> Options)
-> Lens Options Options (Maybe Mtime) (Maybe Mtime)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe Mtime
mtime :: Maybe Mtime
$sel:mtime:Options' :: Options -> Maybe Mtime
mtime} -> Maybe Mtime
mtime) (\s :: Options
s@Options' {} Maybe Mtime
a -> Options
s {$sel:mtime:Options' :: Maybe Mtime
mtime = Maybe Mtime
a} :: Options)
options_uid :: Lens.Lens' Options (Prelude.Maybe Uid)
options_uid :: (Maybe Uid -> f (Maybe Uid)) -> Options -> f Options
options_uid = (Options -> Maybe Uid)
-> (Options -> Maybe Uid -> Options)
-> Lens Options Options (Maybe Uid) (Maybe Uid)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe Uid
uid :: Maybe Uid
$sel:uid:Options' :: Options -> Maybe Uid
uid} -> Maybe Uid
uid) (\s :: Options
s@Options' {} Maybe Uid
a -> Options
s {$sel:uid:Options' :: Maybe Uid
uid = Maybe Uid
a} :: Options)
options_bytesPerSecond :: Lens.Lens' Options (Prelude.Maybe Prelude.Integer)
options_bytesPerSecond :: (Maybe Integer -> f (Maybe Integer)) -> Options -> f Options
options_bytesPerSecond = (Options -> Maybe Integer)
-> (Options -> Maybe Integer -> Options)
-> Lens Options Options (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe Integer
bytesPerSecond :: Maybe Integer
$sel:bytesPerSecond:Options' :: Options -> Maybe Integer
bytesPerSecond} -> Maybe Integer
bytesPerSecond) (\s :: Options
s@Options' {} Maybe Integer
a -> Options
s {$sel:bytesPerSecond:Options' :: Maybe Integer
bytesPerSecond = Maybe Integer
a} :: Options)
options_securityDescriptorCopyFlags :: Lens.Lens' Options (Prelude.Maybe SmbSecurityDescriptorCopyFlags)
options_securityDescriptorCopyFlags :: (Maybe SmbSecurityDescriptorCopyFlags
-> f (Maybe SmbSecurityDescriptorCopyFlags))
-> Options -> f Options
options_securityDescriptorCopyFlags = (Options -> Maybe SmbSecurityDescriptorCopyFlags)
-> (Options -> Maybe SmbSecurityDescriptorCopyFlags -> Options)
-> Lens
Options
Options
(Maybe SmbSecurityDescriptorCopyFlags)
(Maybe SmbSecurityDescriptorCopyFlags)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe SmbSecurityDescriptorCopyFlags
securityDescriptorCopyFlags :: Maybe SmbSecurityDescriptorCopyFlags
$sel:securityDescriptorCopyFlags:Options' :: Options -> Maybe SmbSecurityDescriptorCopyFlags
securityDescriptorCopyFlags} -> Maybe SmbSecurityDescriptorCopyFlags
securityDescriptorCopyFlags) (\s :: Options
s@Options' {} Maybe SmbSecurityDescriptorCopyFlags
a -> Options
s {$sel:securityDescriptorCopyFlags:Options' :: Maybe SmbSecurityDescriptorCopyFlags
securityDescriptorCopyFlags = Maybe SmbSecurityDescriptorCopyFlags
a} :: Options)
options_gid :: Lens.Lens' Options (Prelude.Maybe Gid)
options_gid :: (Maybe Gid -> f (Maybe Gid)) -> Options -> f Options
options_gid = (Options -> Maybe Gid)
-> (Options -> Maybe Gid -> Options)
-> Lens Options Options (Maybe Gid) (Maybe Gid)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe Gid
gid :: Maybe Gid
$sel:gid:Options' :: Options -> Maybe Gid
gid} -> Maybe Gid
gid) (\s :: Options
s@Options' {} Maybe Gid
a -> Options
s {$sel:gid:Options' :: Maybe Gid
gid = Maybe Gid
a} :: Options)
options_overwriteMode :: Lens.Lens' Options (Prelude.Maybe OverwriteMode)
options_overwriteMode :: (Maybe OverwriteMode -> f (Maybe OverwriteMode))
-> Options -> f Options
options_overwriteMode = (Options -> Maybe OverwriteMode)
-> (Options -> Maybe OverwriteMode -> Options)
-> Lens Options Options (Maybe OverwriteMode) (Maybe OverwriteMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe OverwriteMode
overwriteMode :: Maybe OverwriteMode
$sel:overwriteMode:Options' :: Options -> Maybe OverwriteMode
overwriteMode} -> Maybe OverwriteMode
overwriteMode) (\s :: Options
s@Options' {} Maybe OverwriteMode
a -> Options
s {$sel:overwriteMode:Options' :: Maybe OverwriteMode
overwriteMode = Maybe OverwriteMode
a} :: Options)
options_transferMode :: Lens.Lens' Options (Prelude.Maybe TransferMode)
options_transferMode :: (Maybe TransferMode -> f (Maybe TransferMode))
-> Options -> f Options
options_transferMode = (Options -> Maybe TransferMode)
-> (Options -> Maybe TransferMode -> Options)
-> Lens Options Options (Maybe TransferMode) (Maybe TransferMode)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe TransferMode
transferMode :: Maybe TransferMode
$sel:transferMode:Options' :: Options -> Maybe TransferMode
transferMode} -> Maybe TransferMode
transferMode) (\s :: Options
s@Options' {} Maybe TransferMode
a -> Options
s {$sel:transferMode:Options' :: Maybe TransferMode
transferMode = Maybe TransferMode
a} :: Options)
options_preserveDeletedFiles :: Lens.Lens' Options (Prelude.Maybe PreserveDeletedFiles)
options_preserveDeletedFiles :: (Maybe PreserveDeletedFiles -> f (Maybe PreserveDeletedFiles))
-> Options -> f Options
options_preserveDeletedFiles = (Options -> Maybe PreserveDeletedFiles)
-> (Options -> Maybe PreserveDeletedFiles -> Options)
-> Lens
Options
Options
(Maybe PreserveDeletedFiles)
(Maybe PreserveDeletedFiles)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe PreserveDeletedFiles
preserveDeletedFiles :: Maybe PreserveDeletedFiles
$sel:preserveDeletedFiles:Options' :: Options -> Maybe PreserveDeletedFiles
preserveDeletedFiles} -> Maybe PreserveDeletedFiles
preserveDeletedFiles) (\s :: Options
s@Options' {} Maybe PreserveDeletedFiles
a -> Options
s {$sel:preserveDeletedFiles:Options' :: Maybe PreserveDeletedFiles
preserveDeletedFiles = Maybe PreserveDeletedFiles
a} :: Options)
options_preserveDevices :: Lens.Lens' Options (Prelude.Maybe PreserveDevices)
options_preserveDevices :: (Maybe PreserveDevices -> f (Maybe PreserveDevices))
-> Options -> f Options
options_preserveDevices = (Options -> Maybe PreserveDevices)
-> (Options -> Maybe PreserveDevices -> Options)
-> Lens
Options Options (Maybe PreserveDevices) (Maybe PreserveDevices)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Options' {Maybe PreserveDevices
preserveDevices :: Maybe PreserveDevices
$sel:preserveDevices:Options' :: Options -> Maybe PreserveDevices
preserveDevices} -> Maybe PreserveDevices
preserveDevices) (\s :: Options
s@Options' {} Maybe PreserveDevices
a -> Options
s {$sel:preserveDevices:Options' :: Maybe PreserveDevices
preserveDevices = Maybe PreserveDevices
a} :: Options)
instance Core.FromJSON Options where
parseJSON :: Value -> Parser Options
parseJSON =
String -> (Object -> Parser Options) -> Value -> Parser Options
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
String
"Options"
( \Object
x ->
Maybe Atime
-> Maybe VerifyMode
-> Maybe TaskQueueing
-> Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options
Options'
(Maybe Atime
-> Maybe VerifyMode
-> Maybe TaskQueueing
-> Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe Atime)
-> Parser
(Maybe VerifyMode
-> Maybe TaskQueueing
-> Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Atime)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Atime")
Parser
(Maybe VerifyMode
-> Maybe TaskQueueing
-> Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe VerifyMode)
-> Parser
(Maybe TaskQueueing
-> Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe VerifyMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"VerifyMode")
Parser
(Maybe TaskQueueing
-> Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe TaskQueueing)
-> Parser
(Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TaskQueueing)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TaskQueueing")
Parser
(Maybe LogLevel
-> Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe LogLevel)
-> Parser
(Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe LogLevel)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LogLevel")
Parser
(Maybe PosixPermissions
-> Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe PosixPermissions)
-> Parser
(Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PosixPermissions)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PosixPermissions")
Parser
(Maybe Mtime
-> Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe Mtime)
-> Parser
(Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Mtime)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Mtime")
Parser
(Maybe Uid
-> Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe Uid)
-> Parser
(Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Uid)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Uid")
Parser
(Maybe Integer
-> Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe Integer)
-> Parser
(Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"BytesPerSecond")
Parser
(Maybe SmbSecurityDescriptorCopyFlags
-> Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe SmbSecurityDescriptorCopyFlags)
-> Parser
(Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SmbSecurityDescriptorCopyFlags)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecurityDescriptorCopyFlags")
Parser
(Maybe Gid
-> Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe Gid)
-> Parser
(Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Gid)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Gid")
Parser
(Maybe OverwriteMode
-> Maybe TransferMode
-> Maybe PreserveDeletedFiles
-> Maybe PreserveDevices
-> Options)
-> Parser (Maybe OverwriteMode)
-> Parser
(Maybe TransferMode
-> Maybe PreserveDeletedFiles -> Maybe PreserveDevices -> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe OverwriteMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"OverwriteMode")
Parser
(Maybe TransferMode
-> Maybe PreserveDeletedFiles -> Maybe PreserveDevices -> Options)
-> Parser (Maybe TransferMode)
-> Parser
(Maybe PreserveDeletedFiles -> Maybe PreserveDevices -> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TransferMode)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TransferMode")
Parser
(Maybe PreserveDeletedFiles -> Maybe PreserveDevices -> Options)
-> Parser (Maybe PreserveDeletedFiles)
-> Parser (Maybe PreserveDevices -> Options)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PreserveDeletedFiles)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PreserveDeletedFiles")
Parser (Maybe PreserveDevices -> Options)
-> Parser (Maybe PreserveDevices) -> Parser Options
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PreserveDevices)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PreserveDevices")
)
instance Prelude.Hashable Options
instance Prelude.NFData Options
instance Core.ToJSON Options where
toJSON :: Options -> Value
toJSON Options' {Maybe Integer
Maybe Atime
Maybe Gid
Maybe LogLevel
Maybe Mtime
Maybe OverwriteMode
Maybe PosixPermissions
Maybe PreserveDeletedFiles
Maybe PreserveDevices
Maybe SmbSecurityDescriptorCopyFlags
Maybe TaskQueueing
Maybe TransferMode
Maybe Uid
Maybe VerifyMode
preserveDevices :: Maybe PreserveDevices
preserveDeletedFiles :: Maybe PreserveDeletedFiles
transferMode :: Maybe TransferMode
overwriteMode :: Maybe OverwriteMode
gid :: Maybe Gid
securityDescriptorCopyFlags :: Maybe SmbSecurityDescriptorCopyFlags
bytesPerSecond :: Maybe Integer
uid :: Maybe Uid
mtime :: Maybe Mtime
posixPermissions :: Maybe PosixPermissions
logLevel :: Maybe LogLevel
taskQueueing :: Maybe TaskQueueing
verifyMode :: Maybe VerifyMode
atime :: Maybe Atime
$sel:preserveDevices:Options' :: Options -> Maybe PreserveDevices
$sel:preserveDeletedFiles:Options' :: Options -> Maybe PreserveDeletedFiles
$sel:transferMode:Options' :: Options -> Maybe TransferMode
$sel:overwriteMode:Options' :: Options -> Maybe OverwriteMode
$sel:gid:Options' :: Options -> Maybe Gid
$sel:securityDescriptorCopyFlags:Options' :: Options -> Maybe SmbSecurityDescriptorCopyFlags
$sel:bytesPerSecond:Options' :: Options -> Maybe Integer
$sel:uid:Options' :: Options -> Maybe Uid
$sel:mtime:Options' :: Options -> Maybe Mtime
$sel:posixPermissions:Options' :: Options -> Maybe PosixPermissions
$sel:logLevel:Options' :: Options -> Maybe LogLevel
$sel:taskQueueing:Options' :: Options -> Maybe TaskQueueing
$sel:verifyMode:Options' :: Options -> Maybe VerifyMode
$sel:atime:Options' :: Options -> Maybe Atime
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"Atime" Text -> Atime -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Atime -> Pair) -> Maybe Atime -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Atime
atime,
(Text
"VerifyMode" Text -> VerifyMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (VerifyMode -> Pair) -> Maybe VerifyMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VerifyMode
verifyMode,
(Text
"TaskQueueing" Text -> TaskQueueing -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (TaskQueueing -> Pair) -> Maybe TaskQueueing -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TaskQueueing
taskQueueing,
(Text
"LogLevel" Text -> LogLevel -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (LogLevel -> Pair) -> Maybe LogLevel -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe LogLevel
logLevel,
(Text
"PosixPermissions" Text -> PosixPermissions -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(PosixPermissions -> Pair) -> Maybe PosixPermissions -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PosixPermissions
posixPermissions,
(Text
"Mtime" Text -> Mtime -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Mtime -> Pair) -> Maybe Mtime -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Mtime
mtime,
(Text
"Uid" Text -> Uid -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Uid -> Pair) -> Maybe Uid -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Uid
uid,
(Text
"BytesPerSecond" Text -> Integer -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(Integer -> Pair) -> Maybe Integer -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Integer
bytesPerSecond,
(Text
"SecurityDescriptorCopyFlags" Text -> SmbSecurityDescriptorCopyFlags -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(SmbSecurityDescriptorCopyFlags -> Pair)
-> Maybe SmbSecurityDescriptorCopyFlags -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SmbSecurityDescriptorCopyFlags
securityDescriptorCopyFlags,
(Text
"Gid" Text -> Gid -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Gid -> Pair) -> Maybe Gid -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Gid
gid,
(Text
"OverwriteMode" Text -> OverwriteMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (OverwriteMode -> Pair) -> Maybe OverwriteMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe OverwriteMode
overwriteMode,
(Text
"TransferMode" Text -> TransferMode -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (TransferMode -> Pair) -> Maybe TransferMode -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TransferMode
transferMode,
(Text
"PreserveDeletedFiles" Text -> PreserveDeletedFiles -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(PreserveDeletedFiles -> Pair)
-> Maybe PreserveDeletedFiles -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PreserveDeletedFiles
preserveDeletedFiles,
(Text
"PreserveDevices" Text -> PreserveDevices -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(PreserveDevices -> Pair) -> Maybe PreserveDevices -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PreserveDevices
preserveDevices
]
)