{-# 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.HealthLake.Types.DatastoreProperties where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.HealthLake.Types.DatastoreStatus
import Amazonka.HealthLake.Types.FHIRVersion
import Amazonka.HealthLake.Types.PreloadDataConfig
import Amazonka.HealthLake.Types.SseConfiguration
import qualified Amazonka.Prelude as Prelude
data DatastoreProperties = DatastoreProperties'
{
DatastoreProperties -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
DatastoreProperties -> Maybe Text
datastoreName :: Prelude.Maybe Prelude.Text,
DatastoreProperties -> Maybe PreloadDataConfig
preloadDataConfig :: Prelude.Maybe PreloadDataConfig,
DatastoreProperties -> Maybe SseConfiguration
sseConfiguration :: Prelude.Maybe SseConfiguration,
DatastoreProperties -> Text
datastoreId :: Prelude.Text,
DatastoreProperties -> Text
datastoreArn :: Prelude.Text,
DatastoreProperties -> DatastoreStatus
datastoreStatus :: DatastoreStatus,
DatastoreProperties -> FHIRVersion
datastoreTypeVersion :: FHIRVersion,
DatastoreProperties -> Text
datastoreEndpoint :: Prelude.Text
}
deriving (DatastoreProperties -> DatastoreProperties -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DatastoreProperties -> DatastoreProperties -> Bool
$c/= :: DatastoreProperties -> DatastoreProperties -> Bool
== :: DatastoreProperties -> DatastoreProperties -> Bool
$c== :: DatastoreProperties -> DatastoreProperties -> Bool
Prelude.Eq, ReadPrec [DatastoreProperties]
ReadPrec DatastoreProperties
Int -> ReadS DatastoreProperties
ReadS [DatastoreProperties]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DatastoreProperties]
$creadListPrec :: ReadPrec [DatastoreProperties]
readPrec :: ReadPrec DatastoreProperties
$creadPrec :: ReadPrec DatastoreProperties
readList :: ReadS [DatastoreProperties]
$creadList :: ReadS [DatastoreProperties]
readsPrec :: Int -> ReadS DatastoreProperties
$creadsPrec :: Int -> ReadS DatastoreProperties
Prelude.Read, Int -> DatastoreProperties -> ShowS
[DatastoreProperties] -> ShowS
DatastoreProperties -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DatastoreProperties] -> ShowS
$cshowList :: [DatastoreProperties] -> ShowS
show :: DatastoreProperties -> String
$cshow :: DatastoreProperties -> String
showsPrec :: Int -> DatastoreProperties -> ShowS
$cshowsPrec :: Int -> DatastoreProperties -> ShowS
Prelude.Show, forall x. Rep DatastoreProperties x -> DatastoreProperties
forall x. DatastoreProperties -> Rep DatastoreProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DatastoreProperties x -> DatastoreProperties
$cfrom :: forall x. DatastoreProperties -> Rep DatastoreProperties x
Prelude.Generic)
newDatastoreProperties ::
Prelude.Text ->
Prelude.Text ->
DatastoreStatus ->
FHIRVersion ->
Prelude.Text ->
DatastoreProperties
newDatastoreProperties :: Text
-> Text
-> DatastoreStatus
-> FHIRVersion
-> Text
-> DatastoreProperties
newDatastoreProperties
Text
pDatastoreId_
Text
pDatastoreArn_
DatastoreStatus
pDatastoreStatus_
FHIRVersion
pDatastoreTypeVersion_
Text
pDatastoreEndpoint_ =
DatastoreProperties'
{ $sel:createdAt:DatastoreProperties' :: Maybe POSIX
createdAt = forall a. Maybe a
Prelude.Nothing,
$sel:datastoreName:DatastoreProperties' :: Maybe Text
datastoreName = forall a. Maybe a
Prelude.Nothing,
$sel:preloadDataConfig:DatastoreProperties' :: Maybe PreloadDataConfig
preloadDataConfig = forall a. Maybe a
Prelude.Nothing,
$sel:sseConfiguration:DatastoreProperties' :: Maybe SseConfiguration
sseConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:datastoreId:DatastoreProperties' :: Text
datastoreId = Text
pDatastoreId_,
$sel:datastoreArn:DatastoreProperties' :: Text
datastoreArn = Text
pDatastoreArn_,
$sel:datastoreStatus:DatastoreProperties' :: DatastoreStatus
datastoreStatus = DatastoreStatus
pDatastoreStatus_,
$sel:datastoreTypeVersion:DatastoreProperties' :: FHIRVersion
datastoreTypeVersion = FHIRVersion
pDatastoreTypeVersion_,
$sel:datastoreEndpoint:DatastoreProperties' :: Text
datastoreEndpoint = Text
pDatastoreEndpoint_
}
datastoreProperties_createdAt :: Lens.Lens' DatastoreProperties (Prelude.Maybe Prelude.UTCTime)
datastoreProperties_createdAt :: Lens' DatastoreProperties (Maybe UTCTime)
datastoreProperties_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:DatastoreProperties' :: DatastoreProperties -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: DatastoreProperties
s@DatastoreProperties' {} Maybe POSIX
a -> DatastoreProperties
s {$sel:createdAt:DatastoreProperties' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: DatastoreProperties) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
datastoreProperties_datastoreName :: Lens.Lens' DatastoreProperties (Prelude.Maybe Prelude.Text)
datastoreProperties_datastoreName :: Lens' DatastoreProperties (Maybe Text)
datastoreProperties_datastoreName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {Maybe Text
datastoreName :: Maybe Text
$sel:datastoreName:DatastoreProperties' :: DatastoreProperties -> Maybe Text
datastoreName} -> Maybe Text
datastoreName) (\s :: DatastoreProperties
s@DatastoreProperties' {} Maybe Text
a -> DatastoreProperties
s {$sel:datastoreName:DatastoreProperties' :: Maybe Text
datastoreName = Maybe Text
a} :: DatastoreProperties)
datastoreProperties_preloadDataConfig :: Lens.Lens' DatastoreProperties (Prelude.Maybe PreloadDataConfig)
datastoreProperties_preloadDataConfig :: Lens' DatastoreProperties (Maybe PreloadDataConfig)
datastoreProperties_preloadDataConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {Maybe PreloadDataConfig
preloadDataConfig :: Maybe PreloadDataConfig
$sel:preloadDataConfig:DatastoreProperties' :: DatastoreProperties -> Maybe PreloadDataConfig
preloadDataConfig} -> Maybe PreloadDataConfig
preloadDataConfig) (\s :: DatastoreProperties
s@DatastoreProperties' {} Maybe PreloadDataConfig
a -> DatastoreProperties
s {$sel:preloadDataConfig:DatastoreProperties' :: Maybe PreloadDataConfig
preloadDataConfig = Maybe PreloadDataConfig
a} :: DatastoreProperties)
datastoreProperties_sseConfiguration :: Lens.Lens' DatastoreProperties (Prelude.Maybe SseConfiguration)
datastoreProperties_sseConfiguration :: Lens' DatastoreProperties (Maybe SseConfiguration)
datastoreProperties_sseConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {Maybe SseConfiguration
sseConfiguration :: Maybe SseConfiguration
$sel:sseConfiguration:DatastoreProperties' :: DatastoreProperties -> Maybe SseConfiguration
sseConfiguration} -> Maybe SseConfiguration
sseConfiguration) (\s :: DatastoreProperties
s@DatastoreProperties' {} Maybe SseConfiguration
a -> DatastoreProperties
s {$sel:sseConfiguration:DatastoreProperties' :: Maybe SseConfiguration
sseConfiguration = Maybe SseConfiguration
a} :: DatastoreProperties)
datastoreProperties_datastoreId :: Lens.Lens' DatastoreProperties Prelude.Text
datastoreProperties_datastoreId :: Lens' DatastoreProperties Text
datastoreProperties_datastoreId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {Text
datastoreId :: Text
$sel:datastoreId:DatastoreProperties' :: DatastoreProperties -> Text
datastoreId} -> Text
datastoreId) (\s :: DatastoreProperties
s@DatastoreProperties' {} Text
a -> DatastoreProperties
s {$sel:datastoreId:DatastoreProperties' :: Text
datastoreId = Text
a} :: DatastoreProperties)
datastoreProperties_datastoreArn :: Lens.Lens' DatastoreProperties Prelude.Text
datastoreProperties_datastoreArn :: Lens' DatastoreProperties Text
datastoreProperties_datastoreArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {Text
datastoreArn :: Text
$sel:datastoreArn:DatastoreProperties' :: DatastoreProperties -> Text
datastoreArn} -> Text
datastoreArn) (\s :: DatastoreProperties
s@DatastoreProperties' {} Text
a -> DatastoreProperties
s {$sel:datastoreArn:DatastoreProperties' :: Text
datastoreArn = Text
a} :: DatastoreProperties)
datastoreProperties_datastoreStatus :: Lens.Lens' DatastoreProperties DatastoreStatus
datastoreProperties_datastoreStatus :: Lens' DatastoreProperties DatastoreStatus
datastoreProperties_datastoreStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {DatastoreStatus
datastoreStatus :: DatastoreStatus
$sel:datastoreStatus:DatastoreProperties' :: DatastoreProperties -> DatastoreStatus
datastoreStatus} -> DatastoreStatus
datastoreStatus) (\s :: DatastoreProperties
s@DatastoreProperties' {} DatastoreStatus
a -> DatastoreProperties
s {$sel:datastoreStatus:DatastoreProperties' :: DatastoreStatus
datastoreStatus = DatastoreStatus
a} :: DatastoreProperties)
datastoreProperties_datastoreTypeVersion :: Lens.Lens' DatastoreProperties FHIRVersion
datastoreProperties_datastoreTypeVersion :: Lens' DatastoreProperties FHIRVersion
datastoreProperties_datastoreTypeVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {FHIRVersion
datastoreTypeVersion :: FHIRVersion
$sel:datastoreTypeVersion:DatastoreProperties' :: DatastoreProperties -> FHIRVersion
datastoreTypeVersion} -> FHIRVersion
datastoreTypeVersion) (\s :: DatastoreProperties
s@DatastoreProperties' {} FHIRVersion
a -> DatastoreProperties
s {$sel:datastoreTypeVersion:DatastoreProperties' :: FHIRVersion
datastoreTypeVersion = FHIRVersion
a} :: DatastoreProperties)
datastoreProperties_datastoreEndpoint :: Lens.Lens' DatastoreProperties Prelude.Text
datastoreProperties_datastoreEndpoint :: Lens' DatastoreProperties Text
datastoreProperties_datastoreEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DatastoreProperties' {Text
datastoreEndpoint :: Text
$sel:datastoreEndpoint:DatastoreProperties' :: DatastoreProperties -> Text
datastoreEndpoint} -> Text
datastoreEndpoint) (\s :: DatastoreProperties
s@DatastoreProperties' {} Text
a -> DatastoreProperties
s {$sel:datastoreEndpoint:DatastoreProperties' :: Text
datastoreEndpoint = Text
a} :: DatastoreProperties)
instance Data.FromJSON DatastoreProperties where
parseJSON :: Value -> Parser DatastoreProperties
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"DatastoreProperties"
( \Object
x ->
Maybe POSIX
-> Maybe Text
-> Maybe PreloadDataConfig
-> Maybe SseConfiguration
-> Text
-> Text
-> DatastoreStatus
-> FHIRVersion
-> Text
-> DatastoreProperties
DatastoreProperties'
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
"CreatedAt")
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
"DatastoreName")
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
"PreloadDataConfig")
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
"SseConfiguration")
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
"DatastoreId")
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
"DatastoreArn")
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
"DatastoreStatus")
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
"DatastoreTypeVersion")
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
"DatastoreEndpoint")
)
instance Prelude.Hashable DatastoreProperties where
hashWithSalt :: Int -> DatastoreProperties -> Int
hashWithSalt Int
_salt DatastoreProperties' {Maybe Text
Maybe POSIX
Maybe PreloadDataConfig
Maybe SseConfiguration
Text
DatastoreStatus
FHIRVersion
datastoreEndpoint :: Text
datastoreTypeVersion :: FHIRVersion
datastoreStatus :: DatastoreStatus
datastoreArn :: Text
datastoreId :: Text
sseConfiguration :: Maybe SseConfiguration
preloadDataConfig :: Maybe PreloadDataConfig
datastoreName :: Maybe Text
createdAt :: Maybe POSIX
$sel:datastoreEndpoint:DatastoreProperties' :: DatastoreProperties -> Text
$sel:datastoreTypeVersion:DatastoreProperties' :: DatastoreProperties -> FHIRVersion
$sel:datastoreStatus:DatastoreProperties' :: DatastoreProperties -> DatastoreStatus
$sel:datastoreArn:DatastoreProperties' :: DatastoreProperties -> Text
$sel:datastoreId:DatastoreProperties' :: DatastoreProperties -> Text
$sel:sseConfiguration:DatastoreProperties' :: DatastoreProperties -> Maybe SseConfiguration
$sel:preloadDataConfig:DatastoreProperties' :: DatastoreProperties -> Maybe PreloadDataConfig
$sel:datastoreName:DatastoreProperties' :: DatastoreProperties -> Maybe Text
$sel:createdAt:DatastoreProperties' :: DatastoreProperties -> Maybe POSIX
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
createdAt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
datastoreName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PreloadDataConfig
preloadDataConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SseConfiguration
sseConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datastoreId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datastoreArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DatastoreStatus
datastoreStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` FHIRVersion
datastoreTypeVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
datastoreEndpoint
instance Prelude.NFData DatastoreProperties where
rnf :: DatastoreProperties -> ()
rnf DatastoreProperties' {Maybe Text
Maybe POSIX
Maybe PreloadDataConfig
Maybe SseConfiguration
Text
DatastoreStatus
FHIRVersion
datastoreEndpoint :: Text
datastoreTypeVersion :: FHIRVersion
datastoreStatus :: DatastoreStatus
datastoreArn :: Text
datastoreId :: Text
sseConfiguration :: Maybe SseConfiguration
preloadDataConfig :: Maybe PreloadDataConfig
datastoreName :: Maybe Text
createdAt :: Maybe POSIX
$sel:datastoreEndpoint:DatastoreProperties' :: DatastoreProperties -> Text
$sel:datastoreTypeVersion:DatastoreProperties' :: DatastoreProperties -> FHIRVersion
$sel:datastoreStatus:DatastoreProperties' :: DatastoreProperties -> DatastoreStatus
$sel:datastoreArn:DatastoreProperties' :: DatastoreProperties -> Text
$sel:datastoreId:DatastoreProperties' :: DatastoreProperties -> Text
$sel:sseConfiguration:DatastoreProperties' :: DatastoreProperties -> Maybe SseConfiguration
$sel:preloadDataConfig:DatastoreProperties' :: DatastoreProperties -> Maybe PreloadDataConfig
$sel:datastoreName:DatastoreProperties' :: DatastoreProperties -> Maybe Text
$sel:createdAt:DatastoreProperties' :: DatastoreProperties -> Maybe POSIX
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdAt
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datastoreName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PreloadDataConfig
preloadDataConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SseConfiguration
sseConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datastoreId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datastoreArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DatastoreStatus
datastoreStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf FHIRVersion
datastoreTypeVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
datastoreEndpoint