{-# 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.SageMaker.Types.OfflineStoreConfig where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.DataCatalogConfig
import Amazonka.SageMaker.Types.S3StorageConfig
import Amazonka.SageMaker.Types.TableFormat
data OfflineStoreConfig = OfflineStoreConfig'
{
OfflineStoreConfig -> Maybe DataCatalogConfig
dataCatalogConfig :: Prelude.Maybe DataCatalogConfig,
OfflineStoreConfig -> Maybe Bool
disableGlueTableCreation :: Prelude.Maybe Prelude.Bool,
OfflineStoreConfig -> Maybe TableFormat
tableFormat :: Prelude.Maybe TableFormat,
OfflineStoreConfig -> S3StorageConfig
s3StorageConfig :: S3StorageConfig
}
deriving (OfflineStoreConfig -> OfflineStoreConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OfflineStoreConfig -> OfflineStoreConfig -> Bool
$c/= :: OfflineStoreConfig -> OfflineStoreConfig -> Bool
== :: OfflineStoreConfig -> OfflineStoreConfig -> Bool
$c== :: OfflineStoreConfig -> OfflineStoreConfig -> Bool
Prelude.Eq, ReadPrec [OfflineStoreConfig]
ReadPrec OfflineStoreConfig
Int -> ReadS OfflineStoreConfig
ReadS [OfflineStoreConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [OfflineStoreConfig]
$creadListPrec :: ReadPrec [OfflineStoreConfig]
readPrec :: ReadPrec OfflineStoreConfig
$creadPrec :: ReadPrec OfflineStoreConfig
readList :: ReadS [OfflineStoreConfig]
$creadList :: ReadS [OfflineStoreConfig]
readsPrec :: Int -> ReadS OfflineStoreConfig
$creadsPrec :: Int -> ReadS OfflineStoreConfig
Prelude.Read, Int -> OfflineStoreConfig -> ShowS
[OfflineStoreConfig] -> ShowS
OfflineStoreConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OfflineStoreConfig] -> ShowS
$cshowList :: [OfflineStoreConfig] -> ShowS
show :: OfflineStoreConfig -> String
$cshow :: OfflineStoreConfig -> String
showsPrec :: Int -> OfflineStoreConfig -> ShowS
$cshowsPrec :: Int -> OfflineStoreConfig -> ShowS
Prelude.Show, forall x. Rep OfflineStoreConfig x -> OfflineStoreConfig
forall x. OfflineStoreConfig -> Rep OfflineStoreConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep OfflineStoreConfig x -> OfflineStoreConfig
$cfrom :: forall x. OfflineStoreConfig -> Rep OfflineStoreConfig x
Prelude.Generic)
newOfflineStoreConfig ::
S3StorageConfig ->
OfflineStoreConfig
newOfflineStoreConfig :: S3StorageConfig -> OfflineStoreConfig
newOfflineStoreConfig S3StorageConfig
pS3StorageConfig_ =
OfflineStoreConfig'
{ $sel:dataCatalogConfig:OfflineStoreConfig' :: Maybe DataCatalogConfig
dataCatalogConfig =
forall a. Maybe a
Prelude.Nothing,
$sel:disableGlueTableCreation:OfflineStoreConfig' :: Maybe Bool
disableGlueTableCreation = forall a. Maybe a
Prelude.Nothing,
$sel:tableFormat:OfflineStoreConfig' :: Maybe TableFormat
tableFormat = forall a. Maybe a
Prelude.Nothing,
$sel:s3StorageConfig:OfflineStoreConfig' :: S3StorageConfig
s3StorageConfig = S3StorageConfig
pS3StorageConfig_
}
offlineStoreConfig_dataCatalogConfig :: Lens.Lens' OfflineStoreConfig (Prelude.Maybe DataCatalogConfig)
offlineStoreConfig_dataCatalogConfig :: Lens' OfflineStoreConfig (Maybe DataCatalogConfig)
offlineStoreConfig_dataCatalogConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OfflineStoreConfig' {Maybe DataCatalogConfig
dataCatalogConfig :: Maybe DataCatalogConfig
$sel:dataCatalogConfig:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe DataCatalogConfig
dataCatalogConfig} -> Maybe DataCatalogConfig
dataCatalogConfig) (\s :: OfflineStoreConfig
s@OfflineStoreConfig' {} Maybe DataCatalogConfig
a -> OfflineStoreConfig
s {$sel:dataCatalogConfig:OfflineStoreConfig' :: Maybe DataCatalogConfig
dataCatalogConfig = Maybe DataCatalogConfig
a} :: OfflineStoreConfig)
offlineStoreConfig_disableGlueTableCreation :: Lens.Lens' OfflineStoreConfig (Prelude.Maybe Prelude.Bool)
offlineStoreConfig_disableGlueTableCreation :: Lens' OfflineStoreConfig (Maybe Bool)
offlineStoreConfig_disableGlueTableCreation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OfflineStoreConfig' {Maybe Bool
disableGlueTableCreation :: Maybe Bool
$sel:disableGlueTableCreation:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe Bool
disableGlueTableCreation} -> Maybe Bool
disableGlueTableCreation) (\s :: OfflineStoreConfig
s@OfflineStoreConfig' {} Maybe Bool
a -> OfflineStoreConfig
s {$sel:disableGlueTableCreation:OfflineStoreConfig' :: Maybe Bool
disableGlueTableCreation = Maybe Bool
a} :: OfflineStoreConfig)
offlineStoreConfig_tableFormat :: Lens.Lens' OfflineStoreConfig (Prelude.Maybe TableFormat)
offlineStoreConfig_tableFormat :: Lens' OfflineStoreConfig (Maybe TableFormat)
offlineStoreConfig_tableFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OfflineStoreConfig' {Maybe TableFormat
tableFormat :: Maybe TableFormat
$sel:tableFormat:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe TableFormat
tableFormat} -> Maybe TableFormat
tableFormat) (\s :: OfflineStoreConfig
s@OfflineStoreConfig' {} Maybe TableFormat
a -> OfflineStoreConfig
s {$sel:tableFormat:OfflineStoreConfig' :: Maybe TableFormat
tableFormat = Maybe TableFormat
a} :: OfflineStoreConfig)
offlineStoreConfig_s3StorageConfig :: Lens.Lens' OfflineStoreConfig S3StorageConfig
offlineStoreConfig_s3StorageConfig :: Lens' OfflineStoreConfig S3StorageConfig
offlineStoreConfig_s3StorageConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OfflineStoreConfig' {S3StorageConfig
s3StorageConfig :: S3StorageConfig
$sel:s3StorageConfig:OfflineStoreConfig' :: OfflineStoreConfig -> S3StorageConfig
s3StorageConfig} -> S3StorageConfig
s3StorageConfig) (\s :: OfflineStoreConfig
s@OfflineStoreConfig' {} S3StorageConfig
a -> OfflineStoreConfig
s {$sel:s3StorageConfig:OfflineStoreConfig' :: S3StorageConfig
s3StorageConfig = S3StorageConfig
a} :: OfflineStoreConfig)
instance Data.FromJSON OfflineStoreConfig where
parseJSON :: Value -> Parser OfflineStoreConfig
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"OfflineStoreConfig"
( \Object
x ->
Maybe DataCatalogConfig
-> Maybe Bool
-> Maybe TableFormat
-> S3StorageConfig
-> OfflineStoreConfig
OfflineStoreConfig'
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
"DataCatalogConfig")
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
"DisableGlueTableCreation")
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
"TableFormat")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"S3StorageConfig")
)
instance Prelude.Hashable OfflineStoreConfig where
hashWithSalt :: Int -> OfflineStoreConfig -> Int
hashWithSalt Int
_salt OfflineStoreConfig' {Maybe Bool
Maybe DataCatalogConfig
Maybe TableFormat
S3StorageConfig
s3StorageConfig :: S3StorageConfig
tableFormat :: Maybe TableFormat
disableGlueTableCreation :: Maybe Bool
dataCatalogConfig :: Maybe DataCatalogConfig
$sel:s3StorageConfig:OfflineStoreConfig' :: OfflineStoreConfig -> S3StorageConfig
$sel:tableFormat:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe TableFormat
$sel:disableGlueTableCreation:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe Bool
$sel:dataCatalogConfig:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe DataCatalogConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataCatalogConfig
dataCatalogConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
disableGlueTableCreation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TableFormat
tableFormat
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` S3StorageConfig
s3StorageConfig
instance Prelude.NFData OfflineStoreConfig where
rnf :: OfflineStoreConfig -> ()
rnf OfflineStoreConfig' {Maybe Bool
Maybe DataCatalogConfig
Maybe TableFormat
S3StorageConfig
s3StorageConfig :: S3StorageConfig
tableFormat :: Maybe TableFormat
disableGlueTableCreation :: Maybe Bool
dataCatalogConfig :: Maybe DataCatalogConfig
$sel:s3StorageConfig:OfflineStoreConfig' :: OfflineStoreConfig -> S3StorageConfig
$sel:tableFormat:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe TableFormat
$sel:disableGlueTableCreation:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe Bool
$sel:dataCatalogConfig:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe DataCatalogConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DataCatalogConfig
dataCatalogConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
disableGlueTableCreation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TableFormat
tableFormat
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf S3StorageConfig
s3StorageConfig
instance Data.ToJSON OfflineStoreConfig where
toJSON :: OfflineStoreConfig -> Value
toJSON OfflineStoreConfig' {Maybe Bool
Maybe DataCatalogConfig
Maybe TableFormat
S3StorageConfig
s3StorageConfig :: S3StorageConfig
tableFormat :: Maybe TableFormat
disableGlueTableCreation :: Maybe Bool
dataCatalogConfig :: Maybe DataCatalogConfig
$sel:s3StorageConfig:OfflineStoreConfig' :: OfflineStoreConfig -> S3StorageConfig
$sel:tableFormat:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe TableFormat
$sel:disableGlueTableCreation:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe Bool
$sel:dataCatalogConfig:OfflineStoreConfig' :: OfflineStoreConfig -> Maybe DataCatalogConfig
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DataCatalogConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DataCatalogConfig
dataCatalogConfig,
(Key
"DisableGlueTableCreation" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
disableGlueTableCreation,
(Key
"TableFormat" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TableFormat
tableFormat,
forall a. a -> Maybe a
Prelude.Just
(Key
"S3StorageConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= S3StorageConfig
s3StorageConfig)
]
)