{-# 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.DatasetDefinition 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.AthenaDatasetDefinition
import Amazonka.SageMaker.Types.DataDistributionType
import Amazonka.SageMaker.Types.InputMode
import Amazonka.SageMaker.Types.RedshiftDatasetDefinition
data DatasetDefinition = DatasetDefinition'
{ DatasetDefinition -> Maybe AthenaDatasetDefinition
athenaDatasetDefinition :: Prelude.Maybe AthenaDatasetDefinition,
DatasetDefinition -> Maybe DataDistributionType
dataDistributionType :: Prelude.Maybe DataDistributionType,
DatasetDefinition -> Maybe InputMode
inputMode :: Prelude.Maybe InputMode,
DatasetDefinition -> Maybe Text
localPath :: Prelude.Maybe Prelude.Text,
DatasetDefinition -> Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition :: Prelude.Maybe RedshiftDatasetDefinition
}
deriving (DatasetDefinition -> DatasetDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DatasetDefinition -> DatasetDefinition -> Bool
$c/= :: DatasetDefinition -> DatasetDefinition -> Bool
== :: DatasetDefinition -> DatasetDefinition -> Bool
$c== :: DatasetDefinition -> DatasetDefinition -> Bool
Prelude.Eq, ReadPrec [DatasetDefinition]
ReadPrec DatasetDefinition
Int -> ReadS DatasetDefinition
ReadS [DatasetDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DatasetDefinition]
$creadListPrec :: ReadPrec [DatasetDefinition]
readPrec :: ReadPrec DatasetDefinition
$creadPrec :: ReadPrec DatasetDefinition
readList :: ReadS [DatasetDefinition]
$creadList :: ReadS [DatasetDefinition]
readsPrec :: Int -> ReadS DatasetDefinition
$creadsPrec :: Int -> ReadS DatasetDefinition
Prelude.Read, Int -> DatasetDefinition -> ShowS
[DatasetDefinition] -> ShowS
DatasetDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DatasetDefinition] -> ShowS
$cshowList :: [DatasetDefinition] -> ShowS
show :: DatasetDefinition -> String
$cshow :: DatasetDefinition -> String
showsPrec :: Int -> DatasetDefinition -> ShowS
$cshowsPrec :: Int -> DatasetDefinition -> ShowS
Prelude.Show, forall x. Rep DatasetDefinition x -> DatasetDefinition
forall x. DatasetDefinition -> Rep DatasetDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DatasetDefinition x -> DatasetDefinition
$cfrom :: forall x. DatasetDefinition -> Rep DatasetDefinition x
Prelude.Generic)
newDatasetDefinition ::
DatasetDefinition
newDatasetDefinition :: DatasetDefinition
newDatasetDefinition =
DatasetDefinition'
{ $sel:athenaDatasetDefinition:DatasetDefinition' :: Maybe AthenaDatasetDefinition
athenaDatasetDefinition =
forall a. Maybe a
Prelude.Nothing,
$sel:dataDistributionType:DatasetDefinition' :: Maybe DataDistributionType
dataDistributionType = forall a. Maybe a
Prelude.Nothing,
$sel:inputMode:DatasetDefinition' :: Maybe InputMode
inputMode = forall a. Maybe a
Prelude.Nothing,
$sel:localPath:DatasetDefinition' :: Maybe Text
localPath = forall a. Maybe a
Prelude.Nothing,
$sel:redshiftDatasetDefinition:DatasetDefinition' :: Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition = forall a. Maybe a
Prelude.Nothing
}
datasetDefinition_athenaDatasetDefinition :: Lens.Lens' DatasetDefinition (Prelude.Maybe AthenaDatasetDefinition)
datasetDefinition_athenaDatasetDefinition :: Lens' DatasetDefinition (Maybe AthenaDatasetDefinition)
datasetDefinition_athenaDatasetDefinition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatasetDefinition' {Maybe AthenaDatasetDefinition
athenaDatasetDefinition :: Maybe AthenaDatasetDefinition
$sel:athenaDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe AthenaDatasetDefinition
athenaDatasetDefinition} -> Maybe AthenaDatasetDefinition
athenaDatasetDefinition) (\s :: DatasetDefinition
s@DatasetDefinition' {} Maybe AthenaDatasetDefinition
a -> DatasetDefinition
s {$sel:athenaDatasetDefinition:DatasetDefinition' :: Maybe AthenaDatasetDefinition
athenaDatasetDefinition = Maybe AthenaDatasetDefinition
a} :: DatasetDefinition)
datasetDefinition_dataDistributionType :: Lens.Lens' DatasetDefinition (Prelude.Maybe DataDistributionType)
datasetDefinition_dataDistributionType :: Lens' DatasetDefinition (Maybe DataDistributionType)
datasetDefinition_dataDistributionType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatasetDefinition' {Maybe DataDistributionType
dataDistributionType :: Maybe DataDistributionType
$sel:dataDistributionType:DatasetDefinition' :: DatasetDefinition -> Maybe DataDistributionType
dataDistributionType} -> Maybe DataDistributionType
dataDistributionType) (\s :: DatasetDefinition
s@DatasetDefinition' {} Maybe DataDistributionType
a -> DatasetDefinition
s {$sel:dataDistributionType:DatasetDefinition' :: Maybe DataDistributionType
dataDistributionType = Maybe DataDistributionType
a} :: DatasetDefinition)
datasetDefinition_inputMode :: Lens.Lens' DatasetDefinition (Prelude.Maybe InputMode)
datasetDefinition_inputMode :: Lens' DatasetDefinition (Maybe InputMode)
datasetDefinition_inputMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatasetDefinition' {Maybe InputMode
inputMode :: Maybe InputMode
$sel:inputMode:DatasetDefinition' :: DatasetDefinition -> Maybe InputMode
inputMode} -> Maybe InputMode
inputMode) (\s :: DatasetDefinition
s@DatasetDefinition' {} Maybe InputMode
a -> DatasetDefinition
s {$sel:inputMode:DatasetDefinition' :: Maybe InputMode
inputMode = Maybe InputMode
a} :: DatasetDefinition)
datasetDefinition_localPath :: Lens.Lens' DatasetDefinition (Prelude.Maybe Prelude.Text)
datasetDefinition_localPath :: Lens' DatasetDefinition (Maybe Text)
datasetDefinition_localPath = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatasetDefinition' {Maybe Text
localPath :: Maybe Text
$sel:localPath:DatasetDefinition' :: DatasetDefinition -> Maybe Text
localPath} -> Maybe Text
localPath) (\s :: DatasetDefinition
s@DatasetDefinition' {} Maybe Text
a -> DatasetDefinition
s {$sel:localPath:DatasetDefinition' :: Maybe Text
localPath = Maybe Text
a} :: DatasetDefinition)
datasetDefinition_redshiftDatasetDefinition :: Lens.Lens' DatasetDefinition (Prelude.Maybe RedshiftDatasetDefinition)
datasetDefinition_redshiftDatasetDefinition :: Lens' DatasetDefinition (Maybe RedshiftDatasetDefinition)
datasetDefinition_redshiftDatasetDefinition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatasetDefinition' {Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition :: Maybe RedshiftDatasetDefinition
$sel:redshiftDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition} -> Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition) (\s :: DatasetDefinition
s@DatasetDefinition' {} Maybe RedshiftDatasetDefinition
a -> DatasetDefinition
s {$sel:redshiftDatasetDefinition:DatasetDefinition' :: Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition = Maybe RedshiftDatasetDefinition
a} :: DatasetDefinition)
instance Data.FromJSON DatasetDefinition where
parseJSON :: Value -> Parser DatasetDefinition
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"DatasetDefinition"
( \Object
x ->
Maybe AthenaDatasetDefinition
-> Maybe DataDistributionType
-> Maybe InputMode
-> Maybe Text
-> Maybe RedshiftDatasetDefinition
-> DatasetDefinition
DatasetDefinition'
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
"AthenaDatasetDefinition")
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
"DataDistributionType")
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
"InputMode")
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
"LocalPath")
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
"RedshiftDatasetDefinition")
)
instance Prelude.Hashable DatasetDefinition where
hashWithSalt :: Int -> DatasetDefinition -> Int
hashWithSalt Int
_salt DatasetDefinition' {Maybe Text
Maybe AthenaDatasetDefinition
Maybe DataDistributionType
Maybe InputMode
Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition :: Maybe RedshiftDatasetDefinition
localPath :: Maybe Text
inputMode :: Maybe InputMode
dataDistributionType :: Maybe DataDistributionType
athenaDatasetDefinition :: Maybe AthenaDatasetDefinition
$sel:redshiftDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe RedshiftDatasetDefinition
$sel:localPath:DatasetDefinition' :: DatasetDefinition -> Maybe Text
$sel:inputMode:DatasetDefinition' :: DatasetDefinition -> Maybe InputMode
$sel:dataDistributionType:DatasetDefinition' :: DatasetDefinition -> Maybe DataDistributionType
$sel:athenaDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe AthenaDatasetDefinition
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AthenaDatasetDefinition
athenaDatasetDefinition
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataDistributionType
dataDistributionType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InputMode
inputMode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
localPath
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition
instance Prelude.NFData DatasetDefinition where
rnf :: DatasetDefinition -> ()
rnf DatasetDefinition' {Maybe Text
Maybe AthenaDatasetDefinition
Maybe DataDistributionType
Maybe InputMode
Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition :: Maybe RedshiftDatasetDefinition
localPath :: Maybe Text
inputMode :: Maybe InputMode
dataDistributionType :: Maybe DataDistributionType
athenaDatasetDefinition :: Maybe AthenaDatasetDefinition
$sel:redshiftDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe RedshiftDatasetDefinition
$sel:localPath:DatasetDefinition' :: DatasetDefinition -> Maybe Text
$sel:inputMode:DatasetDefinition' :: DatasetDefinition -> Maybe InputMode
$sel:dataDistributionType:DatasetDefinition' :: DatasetDefinition -> Maybe DataDistributionType
$sel:athenaDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe AthenaDatasetDefinition
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AthenaDatasetDefinition
athenaDatasetDefinition
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataDistributionType
dataDistributionType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InputMode
inputMode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
localPath
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition
instance Data.ToJSON DatasetDefinition where
toJSON :: DatasetDefinition -> Value
toJSON DatasetDefinition' {Maybe Text
Maybe AthenaDatasetDefinition
Maybe DataDistributionType
Maybe InputMode
Maybe RedshiftDatasetDefinition
redshiftDatasetDefinition :: Maybe RedshiftDatasetDefinition
localPath :: Maybe Text
inputMode :: Maybe InputMode
dataDistributionType :: Maybe DataDistributionType
athenaDatasetDefinition :: Maybe AthenaDatasetDefinition
$sel:redshiftDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe RedshiftDatasetDefinition
$sel:localPath:DatasetDefinition' :: DatasetDefinition -> Maybe Text
$sel:inputMode:DatasetDefinition' :: DatasetDefinition -> Maybe InputMode
$sel:dataDistributionType:DatasetDefinition' :: DatasetDefinition -> Maybe DataDistributionType
$sel:athenaDatasetDefinition:DatasetDefinition' :: DatasetDefinition -> Maybe AthenaDatasetDefinition
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AthenaDatasetDefinition" 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 AthenaDatasetDefinition
athenaDatasetDefinition,
(Key
"DataDistributionType" 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 DataDistributionType
dataDistributionType,
(Key
"InputMode" 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 InputMode
inputMode,
(Key
"LocalPath" 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 Text
localPath,
(Key
"RedshiftDatasetDefinition" 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 RedshiftDatasetDefinition
redshiftDatasetDefinition
]
)