{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.HealthLake.Types.DatastoreProperties
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
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

-- | Displays the properties of the Data Store, including the ID, Arn, name,
-- and the status of the Data Store.
--
-- /See:/ 'newDatastoreProperties' smart constructor.
data DatastoreProperties = DatastoreProperties'
  { -- | The time that a Data Store was created.
    DatastoreProperties -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
    -- | The user-generated name for the Data Store.
    DatastoreProperties -> Maybe Text
datastoreName :: Prelude.Maybe Prelude.Text,
    -- | The preloaded data configuration for the Data Store. Only data preloaded
    -- from Synthea is supported.
    DatastoreProperties -> Maybe PreloadDataConfig
preloadDataConfig :: Prelude.Maybe PreloadDataConfig,
    -- | The server-side encryption key configuration for a customer provided
    -- encryption key (CMK).
    DatastoreProperties -> Maybe SseConfiguration
sseConfiguration :: Prelude.Maybe SseConfiguration,
    -- | The AWS-generated ID number for the Data Store.
    DatastoreProperties -> Text
datastoreId :: Prelude.Text,
    -- | The Amazon Resource Name used in the creation of the Data Store.
    DatastoreProperties -> Text
datastoreArn :: Prelude.Text,
    -- | The status of the Data Store. Possible statuses are \'CREATING\',
    -- \'ACTIVE\', \'DELETING\', or \'DELETED\'.
    DatastoreProperties -> DatastoreStatus
datastoreStatus :: DatastoreStatus,
    -- | The FHIR version. Only R4 version data is supported.
    DatastoreProperties -> FHIRVersion
datastoreTypeVersion :: FHIRVersion,
    -- | The AWS endpoint for the Data Store. Each Data Store will have it\'s own
    -- endpoint with Data Store ID in the endpoint URL.
    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)

-- |
-- Create a value of 'DatastoreProperties' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'createdAt', 'datastoreProperties_createdAt' - The time that a Data Store was created.
--
-- 'datastoreName', 'datastoreProperties_datastoreName' - The user-generated name for the Data Store.
--
-- 'preloadDataConfig', 'datastoreProperties_preloadDataConfig' - The preloaded data configuration for the Data Store. Only data preloaded
-- from Synthea is supported.
--
-- 'sseConfiguration', 'datastoreProperties_sseConfiguration' - The server-side encryption key configuration for a customer provided
-- encryption key (CMK).
--
-- 'datastoreId', 'datastoreProperties_datastoreId' - The AWS-generated ID number for the Data Store.
--
-- 'datastoreArn', 'datastoreProperties_datastoreArn' - The Amazon Resource Name used in the creation of the Data Store.
--
-- 'datastoreStatus', 'datastoreProperties_datastoreStatus' - The status of the Data Store. Possible statuses are \'CREATING\',
-- \'ACTIVE\', \'DELETING\', or \'DELETED\'.
--
-- 'datastoreTypeVersion', 'datastoreProperties_datastoreTypeVersion' - The FHIR version. Only R4 version data is supported.
--
-- 'datastoreEndpoint', 'datastoreProperties_datastoreEndpoint' - The AWS endpoint for the Data Store. Each Data Store will have it\'s own
-- endpoint with Data Store ID in the endpoint URL.
newDatastoreProperties ::
  -- | 'datastoreId'
  Prelude.Text ->
  -- | 'datastoreArn'
  Prelude.Text ->
  -- | 'datastoreStatus'
  DatastoreStatus ->
  -- | 'datastoreTypeVersion'
  FHIRVersion ->
  -- | 'datastoreEndpoint'
  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_
      }

-- | The time that a Data Store was created.
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

-- | The user-generated name for the Data Store.
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)

-- | The preloaded data configuration for the Data Store. Only data preloaded
-- from Synthea is supported.
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)

-- | The server-side encryption key configuration for a customer provided
-- encryption key (CMK).
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)

-- | The AWS-generated ID number for the Data Store.
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)

-- | The Amazon Resource Name used in the creation of the Data Store.
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)

-- | The status of the Data Store. Possible statuses are \'CREATING\',
-- \'ACTIVE\', \'DELETING\', or \'DELETED\'.
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)

-- | The FHIR version. Only R4 version data is supported.
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)

-- | The AWS endpoint for the Data Store. Each Data Store will have it\'s own
-- endpoint with Data Store ID in the endpoint URL.
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