{-# 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.FSx.Types.DataRepositoryConfiguration where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FSx.Types.AutoImportPolicyType
import Amazonka.FSx.Types.DataRepositoryFailureDetails
import Amazonka.FSx.Types.DataRepositoryLifecycle
import qualified Amazonka.Prelude as Prelude
data DataRepositoryConfiguration = DataRepositoryConfiguration'
{
DataRepositoryConfiguration -> Maybe AutoImportPolicyType
autoImportPolicy :: Prelude.Maybe AutoImportPolicyType,
DataRepositoryConfiguration -> Maybe Text
exportPath :: Prelude.Maybe Prelude.Text,
DataRepositoryConfiguration -> Maybe DataRepositoryFailureDetails
failureDetails :: Prelude.Maybe DataRepositoryFailureDetails,
DataRepositoryConfiguration -> Maybe Text
importPath :: Prelude.Maybe Prelude.Text,
DataRepositoryConfiguration -> Maybe Natural
importedFileChunkSize :: Prelude.Maybe Prelude.Natural,
DataRepositoryConfiguration -> Maybe DataRepositoryLifecycle
lifecycle :: Prelude.Maybe DataRepositoryLifecycle
}
deriving (DataRepositoryConfiguration -> DataRepositoryConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DataRepositoryConfiguration -> DataRepositoryConfiguration -> Bool
$c/= :: DataRepositoryConfiguration -> DataRepositoryConfiguration -> Bool
== :: DataRepositoryConfiguration -> DataRepositoryConfiguration -> Bool
$c== :: DataRepositoryConfiguration -> DataRepositoryConfiguration -> Bool
Prelude.Eq, ReadPrec [DataRepositoryConfiguration]
ReadPrec DataRepositoryConfiguration
Int -> ReadS DataRepositoryConfiguration
ReadS [DataRepositoryConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DataRepositoryConfiguration]
$creadListPrec :: ReadPrec [DataRepositoryConfiguration]
readPrec :: ReadPrec DataRepositoryConfiguration
$creadPrec :: ReadPrec DataRepositoryConfiguration
readList :: ReadS [DataRepositoryConfiguration]
$creadList :: ReadS [DataRepositoryConfiguration]
readsPrec :: Int -> ReadS DataRepositoryConfiguration
$creadsPrec :: Int -> ReadS DataRepositoryConfiguration
Prelude.Read, Int -> DataRepositoryConfiguration -> ShowS
[DataRepositoryConfiguration] -> ShowS
DataRepositoryConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DataRepositoryConfiguration] -> ShowS
$cshowList :: [DataRepositoryConfiguration] -> ShowS
show :: DataRepositoryConfiguration -> String
$cshow :: DataRepositoryConfiguration -> String
showsPrec :: Int -> DataRepositoryConfiguration -> ShowS
$cshowsPrec :: Int -> DataRepositoryConfiguration -> ShowS
Prelude.Show, forall x.
Rep DataRepositoryConfiguration x -> DataRepositoryConfiguration
forall x.
DataRepositoryConfiguration -> Rep DataRepositoryConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DataRepositoryConfiguration x -> DataRepositoryConfiguration
$cfrom :: forall x.
DataRepositoryConfiguration -> Rep DataRepositoryConfiguration x
Prelude.Generic)
newDataRepositoryConfiguration ::
DataRepositoryConfiguration
newDataRepositoryConfiguration :: DataRepositoryConfiguration
newDataRepositoryConfiguration =
DataRepositoryConfiguration'
{ $sel:autoImportPolicy:DataRepositoryConfiguration' :: Maybe AutoImportPolicyType
autoImportPolicy =
forall a. Maybe a
Prelude.Nothing,
$sel:exportPath:DataRepositoryConfiguration' :: Maybe Text
exportPath = forall a. Maybe a
Prelude.Nothing,
$sel:failureDetails:DataRepositoryConfiguration' :: Maybe DataRepositoryFailureDetails
failureDetails = forall a. Maybe a
Prelude.Nothing,
$sel:importPath:DataRepositoryConfiguration' :: Maybe Text
importPath = forall a. Maybe a
Prelude.Nothing,
$sel:importedFileChunkSize:DataRepositoryConfiguration' :: Maybe Natural
importedFileChunkSize = forall a. Maybe a
Prelude.Nothing,
$sel:lifecycle:DataRepositoryConfiguration' :: Maybe DataRepositoryLifecycle
lifecycle = forall a. Maybe a
Prelude.Nothing
}
dataRepositoryConfiguration_autoImportPolicy :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe AutoImportPolicyType)
dataRepositoryConfiguration_autoImportPolicy :: Lens' DataRepositoryConfiguration (Maybe AutoImportPolicyType)
dataRepositoryConfiguration_autoImportPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataRepositoryConfiguration' {Maybe AutoImportPolicyType
autoImportPolicy :: Maybe AutoImportPolicyType
$sel:autoImportPolicy:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe AutoImportPolicyType
autoImportPolicy} -> Maybe AutoImportPolicyType
autoImportPolicy) (\s :: DataRepositoryConfiguration
s@DataRepositoryConfiguration' {} Maybe AutoImportPolicyType
a -> DataRepositoryConfiguration
s {$sel:autoImportPolicy:DataRepositoryConfiguration' :: Maybe AutoImportPolicyType
autoImportPolicy = Maybe AutoImportPolicyType
a} :: DataRepositoryConfiguration)
dataRepositoryConfiguration_exportPath :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe Prelude.Text)
dataRepositoryConfiguration_exportPath :: Lens' DataRepositoryConfiguration (Maybe Text)
dataRepositoryConfiguration_exportPath = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataRepositoryConfiguration' {Maybe Text
exportPath :: Maybe Text
$sel:exportPath:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Text
exportPath} -> Maybe Text
exportPath) (\s :: DataRepositoryConfiguration
s@DataRepositoryConfiguration' {} Maybe Text
a -> DataRepositoryConfiguration
s {$sel:exportPath:DataRepositoryConfiguration' :: Maybe Text
exportPath = Maybe Text
a} :: DataRepositoryConfiguration)
dataRepositoryConfiguration_failureDetails :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe DataRepositoryFailureDetails)
dataRepositoryConfiguration_failureDetails :: Lens'
DataRepositoryConfiguration (Maybe DataRepositoryFailureDetails)
dataRepositoryConfiguration_failureDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataRepositoryConfiguration' {Maybe DataRepositoryFailureDetails
failureDetails :: Maybe DataRepositoryFailureDetails
$sel:failureDetails:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe DataRepositoryFailureDetails
failureDetails} -> Maybe DataRepositoryFailureDetails
failureDetails) (\s :: DataRepositoryConfiguration
s@DataRepositoryConfiguration' {} Maybe DataRepositoryFailureDetails
a -> DataRepositoryConfiguration
s {$sel:failureDetails:DataRepositoryConfiguration' :: Maybe DataRepositoryFailureDetails
failureDetails = Maybe DataRepositoryFailureDetails
a} :: DataRepositoryConfiguration)
dataRepositoryConfiguration_importPath :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe Prelude.Text)
dataRepositoryConfiguration_importPath :: Lens' DataRepositoryConfiguration (Maybe Text)
dataRepositoryConfiguration_importPath = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataRepositoryConfiguration' {Maybe Text
importPath :: Maybe Text
$sel:importPath:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Text
importPath} -> Maybe Text
importPath) (\s :: DataRepositoryConfiguration
s@DataRepositoryConfiguration' {} Maybe Text
a -> DataRepositoryConfiguration
s {$sel:importPath:DataRepositoryConfiguration' :: Maybe Text
importPath = Maybe Text
a} :: DataRepositoryConfiguration)
dataRepositoryConfiguration_importedFileChunkSize :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe Prelude.Natural)
dataRepositoryConfiguration_importedFileChunkSize :: Lens' DataRepositoryConfiguration (Maybe Natural)
dataRepositoryConfiguration_importedFileChunkSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataRepositoryConfiguration' {Maybe Natural
importedFileChunkSize :: Maybe Natural
$sel:importedFileChunkSize:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Natural
importedFileChunkSize} -> Maybe Natural
importedFileChunkSize) (\s :: DataRepositoryConfiguration
s@DataRepositoryConfiguration' {} Maybe Natural
a -> DataRepositoryConfiguration
s {$sel:importedFileChunkSize:DataRepositoryConfiguration' :: Maybe Natural
importedFileChunkSize = Maybe Natural
a} :: DataRepositoryConfiguration)
dataRepositoryConfiguration_lifecycle :: Lens.Lens' DataRepositoryConfiguration (Prelude.Maybe DataRepositoryLifecycle)
dataRepositoryConfiguration_lifecycle :: Lens' DataRepositoryConfiguration (Maybe DataRepositoryLifecycle)
dataRepositoryConfiguration_lifecycle = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataRepositoryConfiguration' {Maybe DataRepositoryLifecycle
lifecycle :: Maybe DataRepositoryLifecycle
$sel:lifecycle:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe DataRepositoryLifecycle
lifecycle} -> Maybe DataRepositoryLifecycle
lifecycle) (\s :: DataRepositoryConfiguration
s@DataRepositoryConfiguration' {} Maybe DataRepositoryLifecycle
a -> DataRepositoryConfiguration
s {$sel:lifecycle:DataRepositoryConfiguration' :: Maybe DataRepositoryLifecycle
lifecycle = Maybe DataRepositoryLifecycle
a} :: DataRepositoryConfiguration)
instance Data.FromJSON DataRepositoryConfiguration where
parseJSON :: Value -> Parser DataRepositoryConfiguration
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"DataRepositoryConfiguration"
( \Object
x ->
Maybe AutoImportPolicyType
-> Maybe Text
-> Maybe DataRepositoryFailureDetails
-> Maybe Text
-> Maybe Natural
-> Maybe DataRepositoryLifecycle
-> DataRepositoryConfiguration
DataRepositoryConfiguration'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"AutoImportPolicy")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ExportPath")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"FailureDetails")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ImportPath")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ImportedFileChunkSize")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Lifecycle")
)
instance Prelude.Hashable DataRepositoryConfiguration where
hashWithSalt :: Int -> DataRepositoryConfiguration -> Int
hashWithSalt Int
_salt DataRepositoryConfiguration' {Maybe Natural
Maybe Text
Maybe AutoImportPolicyType
Maybe DataRepositoryFailureDetails
Maybe DataRepositoryLifecycle
lifecycle :: Maybe DataRepositoryLifecycle
importedFileChunkSize :: Maybe Natural
importPath :: Maybe Text
failureDetails :: Maybe DataRepositoryFailureDetails
exportPath :: Maybe Text
autoImportPolicy :: Maybe AutoImportPolicyType
$sel:lifecycle:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe DataRepositoryLifecycle
$sel:importedFileChunkSize:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Natural
$sel:importPath:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Text
$sel:failureDetails:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe DataRepositoryFailureDetails
$sel:exportPath:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Text
$sel:autoImportPolicy:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe AutoImportPolicyType
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AutoImportPolicyType
autoImportPolicy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
exportPath
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataRepositoryFailureDetails
failureDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
importPath
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
importedFileChunkSize
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataRepositoryLifecycle
lifecycle
instance Prelude.NFData DataRepositoryConfiguration where
rnf :: DataRepositoryConfiguration -> ()
rnf DataRepositoryConfiguration' {Maybe Natural
Maybe Text
Maybe AutoImportPolicyType
Maybe DataRepositoryFailureDetails
Maybe DataRepositoryLifecycle
lifecycle :: Maybe DataRepositoryLifecycle
importedFileChunkSize :: Maybe Natural
importPath :: Maybe Text
failureDetails :: Maybe DataRepositoryFailureDetails
exportPath :: Maybe Text
autoImportPolicy :: Maybe AutoImportPolicyType
$sel:lifecycle:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe DataRepositoryLifecycle
$sel:importedFileChunkSize:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Natural
$sel:importPath:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Text
$sel:failureDetails:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe DataRepositoryFailureDetails
$sel:exportPath:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe Text
$sel:autoImportPolicy:DataRepositoryConfiguration' :: DataRepositoryConfiguration -> Maybe AutoImportPolicyType
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AutoImportPolicyType
autoImportPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
exportPath
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataRepositoryFailureDetails
failureDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
importPath
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
importedFileChunkSize
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataRepositoryLifecycle
lifecycle