{-# 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.Chime.Types.EngineTranscribeMedicalSettings where
import Amazonka.Chime.Types.TranscribeMedicalContentIdentificationType
import Amazonka.Chime.Types.TranscribeMedicalLanguageCode
import Amazonka.Chime.Types.TranscribeMedicalRegion
import Amazonka.Chime.Types.TranscribeMedicalSpecialty
import Amazonka.Chime.Types.TranscribeMedicalType
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
data EngineTranscribeMedicalSettings = EngineTranscribeMedicalSettings'
{
EngineTranscribeMedicalSettings
-> Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType :: Prelude.Maybe TranscribeMedicalContentIdentificationType,
EngineTranscribeMedicalSettings -> Maybe TranscribeMedicalRegion
region :: Prelude.Maybe TranscribeMedicalRegion,
EngineTranscribeMedicalSettings -> Maybe Text
vocabularyName :: Prelude.Maybe Prelude.Text,
EngineTranscribeMedicalSettings -> TranscribeMedicalLanguageCode
languageCode :: TranscribeMedicalLanguageCode,
EngineTranscribeMedicalSettings -> TranscribeMedicalSpecialty
specialty :: TranscribeMedicalSpecialty,
EngineTranscribeMedicalSettings -> TranscribeMedicalType
type' :: TranscribeMedicalType
}
deriving (EngineTranscribeMedicalSettings
-> EngineTranscribeMedicalSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EngineTranscribeMedicalSettings
-> EngineTranscribeMedicalSettings -> Bool
$c/= :: EngineTranscribeMedicalSettings
-> EngineTranscribeMedicalSettings -> Bool
== :: EngineTranscribeMedicalSettings
-> EngineTranscribeMedicalSettings -> Bool
$c== :: EngineTranscribeMedicalSettings
-> EngineTranscribeMedicalSettings -> Bool
Prelude.Eq, ReadPrec [EngineTranscribeMedicalSettings]
ReadPrec EngineTranscribeMedicalSettings
Int -> ReadS EngineTranscribeMedicalSettings
ReadS [EngineTranscribeMedicalSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EngineTranscribeMedicalSettings]
$creadListPrec :: ReadPrec [EngineTranscribeMedicalSettings]
readPrec :: ReadPrec EngineTranscribeMedicalSettings
$creadPrec :: ReadPrec EngineTranscribeMedicalSettings
readList :: ReadS [EngineTranscribeMedicalSettings]
$creadList :: ReadS [EngineTranscribeMedicalSettings]
readsPrec :: Int -> ReadS EngineTranscribeMedicalSettings
$creadsPrec :: Int -> ReadS EngineTranscribeMedicalSettings
Prelude.Read, Int -> EngineTranscribeMedicalSettings -> ShowS
[EngineTranscribeMedicalSettings] -> ShowS
EngineTranscribeMedicalSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EngineTranscribeMedicalSettings] -> ShowS
$cshowList :: [EngineTranscribeMedicalSettings] -> ShowS
show :: EngineTranscribeMedicalSettings -> String
$cshow :: EngineTranscribeMedicalSettings -> String
showsPrec :: Int -> EngineTranscribeMedicalSettings -> ShowS
$cshowsPrec :: Int -> EngineTranscribeMedicalSettings -> ShowS
Prelude.Show, forall x.
Rep EngineTranscribeMedicalSettings x
-> EngineTranscribeMedicalSettings
forall x.
EngineTranscribeMedicalSettings
-> Rep EngineTranscribeMedicalSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep EngineTranscribeMedicalSettings x
-> EngineTranscribeMedicalSettings
$cfrom :: forall x.
EngineTranscribeMedicalSettings
-> Rep EngineTranscribeMedicalSettings x
Prelude.Generic)
newEngineTranscribeMedicalSettings ::
TranscribeMedicalLanguageCode ->
TranscribeMedicalSpecialty ->
TranscribeMedicalType ->
EngineTranscribeMedicalSettings
newEngineTranscribeMedicalSettings :: TranscribeMedicalLanguageCode
-> TranscribeMedicalSpecialty
-> TranscribeMedicalType
-> EngineTranscribeMedicalSettings
newEngineTranscribeMedicalSettings
TranscribeMedicalLanguageCode
pLanguageCode_
TranscribeMedicalSpecialty
pSpecialty_
TranscribeMedicalType
pType_ =
EngineTranscribeMedicalSettings'
{ $sel:contentIdentificationType:EngineTranscribeMedicalSettings' :: Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType =
forall a. Maybe a
Prelude.Nothing,
$sel:region:EngineTranscribeMedicalSettings' :: Maybe TranscribeMedicalRegion
region = forall a. Maybe a
Prelude.Nothing,
$sel:vocabularyName:EngineTranscribeMedicalSettings' :: Maybe Text
vocabularyName = forall a. Maybe a
Prelude.Nothing,
$sel:languageCode:EngineTranscribeMedicalSettings' :: TranscribeMedicalLanguageCode
languageCode = TranscribeMedicalLanguageCode
pLanguageCode_,
$sel:specialty:EngineTranscribeMedicalSettings' :: TranscribeMedicalSpecialty
specialty = TranscribeMedicalSpecialty
pSpecialty_,
$sel:type':EngineTranscribeMedicalSettings' :: TranscribeMedicalType
type' = TranscribeMedicalType
pType_
}
engineTranscribeMedicalSettings_contentIdentificationType :: Lens.Lens' EngineTranscribeMedicalSettings (Prelude.Maybe TranscribeMedicalContentIdentificationType)
engineTranscribeMedicalSettings_contentIdentificationType :: Lens'
EngineTranscribeMedicalSettings
(Maybe TranscribeMedicalContentIdentificationType)
engineTranscribeMedicalSettings_contentIdentificationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EngineTranscribeMedicalSettings' {Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType :: Maybe TranscribeMedicalContentIdentificationType
$sel:contentIdentificationType:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings
-> Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType} -> Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType) (\s :: EngineTranscribeMedicalSettings
s@EngineTranscribeMedicalSettings' {} Maybe TranscribeMedicalContentIdentificationType
a -> EngineTranscribeMedicalSettings
s {$sel:contentIdentificationType:EngineTranscribeMedicalSettings' :: Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType = Maybe TranscribeMedicalContentIdentificationType
a} :: EngineTranscribeMedicalSettings)
engineTranscribeMedicalSettings_region :: Lens.Lens' EngineTranscribeMedicalSettings (Prelude.Maybe TranscribeMedicalRegion)
engineTranscribeMedicalSettings_region :: Lens'
EngineTranscribeMedicalSettings (Maybe TranscribeMedicalRegion)
engineTranscribeMedicalSettings_region = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EngineTranscribeMedicalSettings' {Maybe TranscribeMedicalRegion
region :: Maybe TranscribeMedicalRegion
$sel:region:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe TranscribeMedicalRegion
region} -> Maybe TranscribeMedicalRegion
region) (\s :: EngineTranscribeMedicalSettings
s@EngineTranscribeMedicalSettings' {} Maybe TranscribeMedicalRegion
a -> EngineTranscribeMedicalSettings
s {$sel:region:EngineTranscribeMedicalSettings' :: Maybe TranscribeMedicalRegion
region = Maybe TranscribeMedicalRegion
a} :: EngineTranscribeMedicalSettings)
engineTranscribeMedicalSettings_vocabularyName :: Lens.Lens' EngineTranscribeMedicalSettings (Prelude.Maybe Prelude.Text)
engineTranscribeMedicalSettings_vocabularyName :: Lens' EngineTranscribeMedicalSettings (Maybe Text)
engineTranscribeMedicalSettings_vocabularyName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EngineTranscribeMedicalSettings' {Maybe Text
vocabularyName :: Maybe Text
$sel:vocabularyName:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe Text
vocabularyName} -> Maybe Text
vocabularyName) (\s :: EngineTranscribeMedicalSettings
s@EngineTranscribeMedicalSettings' {} Maybe Text
a -> EngineTranscribeMedicalSettings
s {$sel:vocabularyName:EngineTranscribeMedicalSettings' :: Maybe Text
vocabularyName = Maybe Text
a} :: EngineTranscribeMedicalSettings)
engineTranscribeMedicalSettings_languageCode :: Lens.Lens' EngineTranscribeMedicalSettings TranscribeMedicalLanguageCode
engineTranscribeMedicalSettings_languageCode :: Lens' EngineTranscribeMedicalSettings TranscribeMedicalLanguageCode
engineTranscribeMedicalSettings_languageCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EngineTranscribeMedicalSettings' {TranscribeMedicalLanguageCode
languageCode :: TranscribeMedicalLanguageCode
$sel:languageCode:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalLanguageCode
languageCode} -> TranscribeMedicalLanguageCode
languageCode) (\s :: EngineTranscribeMedicalSettings
s@EngineTranscribeMedicalSettings' {} TranscribeMedicalLanguageCode
a -> EngineTranscribeMedicalSettings
s {$sel:languageCode:EngineTranscribeMedicalSettings' :: TranscribeMedicalLanguageCode
languageCode = TranscribeMedicalLanguageCode
a} :: EngineTranscribeMedicalSettings)
engineTranscribeMedicalSettings_specialty :: Lens.Lens' EngineTranscribeMedicalSettings TranscribeMedicalSpecialty
engineTranscribeMedicalSettings_specialty :: Lens' EngineTranscribeMedicalSettings TranscribeMedicalSpecialty
engineTranscribeMedicalSettings_specialty = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EngineTranscribeMedicalSettings' {TranscribeMedicalSpecialty
specialty :: TranscribeMedicalSpecialty
$sel:specialty:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalSpecialty
specialty} -> TranscribeMedicalSpecialty
specialty) (\s :: EngineTranscribeMedicalSettings
s@EngineTranscribeMedicalSettings' {} TranscribeMedicalSpecialty
a -> EngineTranscribeMedicalSettings
s {$sel:specialty:EngineTranscribeMedicalSettings' :: TranscribeMedicalSpecialty
specialty = TranscribeMedicalSpecialty
a} :: EngineTranscribeMedicalSettings)
engineTranscribeMedicalSettings_type :: Lens.Lens' EngineTranscribeMedicalSettings TranscribeMedicalType
engineTranscribeMedicalSettings_type :: Lens' EngineTranscribeMedicalSettings TranscribeMedicalType
engineTranscribeMedicalSettings_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EngineTranscribeMedicalSettings' {TranscribeMedicalType
type' :: TranscribeMedicalType
$sel:type':EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalType
type'} -> TranscribeMedicalType
type') (\s :: EngineTranscribeMedicalSettings
s@EngineTranscribeMedicalSettings' {} TranscribeMedicalType
a -> EngineTranscribeMedicalSettings
s {$sel:type':EngineTranscribeMedicalSettings' :: TranscribeMedicalType
type' = TranscribeMedicalType
a} :: EngineTranscribeMedicalSettings)
instance
Prelude.Hashable
EngineTranscribeMedicalSettings
where
hashWithSalt :: Int -> EngineTranscribeMedicalSettings -> Int
hashWithSalt
Int
_salt
EngineTranscribeMedicalSettings' {Maybe Text
Maybe TranscribeMedicalContentIdentificationType
Maybe TranscribeMedicalRegion
TranscribeMedicalLanguageCode
TranscribeMedicalSpecialty
TranscribeMedicalType
type' :: TranscribeMedicalType
specialty :: TranscribeMedicalSpecialty
languageCode :: TranscribeMedicalLanguageCode
vocabularyName :: Maybe Text
region :: Maybe TranscribeMedicalRegion
contentIdentificationType :: Maybe TranscribeMedicalContentIdentificationType
$sel:type':EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalType
$sel:specialty:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalSpecialty
$sel:languageCode:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalLanguageCode
$sel:vocabularyName:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe Text
$sel:region:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe TranscribeMedicalRegion
$sel:contentIdentificationType:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings
-> Maybe TranscribeMedicalContentIdentificationType
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TranscribeMedicalRegion
region
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
vocabularyName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` TranscribeMedicalLanguageCode
languageCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` TranscribeMedicalSpecialty
specialty
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` TranscribeMedicalType
type'
instance
Prelude.NFData
EngineTranscribeMedicalSettings
where
rnf :: EngineTranscribeMedicalSettings -> ()
rnf EngineTranscribeMedicalSettings' {Maybe Text
Maybe TranscribeMedicalContentIdentificationType
Maybe TranscribeMedicalRegion
TranscribeMedicalLanguageCode
TranscribeMedicalSpecialty
TranscribeMedicalType
type' :: TranscribeMedicalType
specialty :: TranscribeMedicalSpecialty
languageCode :: TranscribeMedicalLanguageCode
vocabularyName :: Maybe Text
region :: Maybe TranscribeMedicalRegion
contentIdentificationType :: Maybe TranscribeMedicalContentIdentificationType
$sel:type':EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalType
$sel:specialty:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalSpecialty
$sel:languageCode:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalLanguageCode
$sel:vocabularyName:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe Text
$sel:region:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe TranscribeMedicalRegion
$sel:contentIdentificationType:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings
-> Maybe TranscribeMedicalContentIdentificationType
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe TranscribeMedicalContentIdentificationType
contentIdentificationType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TranscribeMedicalRegion
region
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
vocabularyName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf TranscribeMedicalLanguageCode
languageCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf TranscribeMedicalSpecialty
specialty
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf TranscribeMedicalType
type'
instance Data.ToJSON EngineTranscribeMedicalSettings where
toJSON :: EngineTranscribeMedicalSettings -> Value
toJSON EngineTranscribeMedicalSettings' {Maybe Text
Maybe TranscribeMedicalContentIdentificationType
Maybe TranscribeMedicalRegion
TranscribeMedicalLanguageCode
TranscribeMedicalSpecialty
TranscribeMedicalType
type' :: TranscribeMedicalType
specialty :: TranscribeMedicalSpecialty
languageCode :: TranscribeMedicalLanguageCode
vocabularyName :: Maybe Text
region :: Maybe TranscribeMedicalRegion
contentIdentificationType :: Maybe TranscribeMedicalContentIdentificationType
$sel:type':EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalType
$sel:specialty:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalSpecialty
$sel:languageCode:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> TranscribeMedicalLanguageCode
$sel:vocabularyName:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe Text
$sel:region:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings -> Maybe TranscribeMedicalRegion
$sel:contentIdentificationType:EngineTranscribeMedicalSettings' :: EngineTranscribeMedicalSettings
-> Maybe TranscribeMedicalContentIdentificationType
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ContentIdentificationType" 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 TranscribeMedicalContentIdentificationType
contentIdentificationType,
(Key
"Region" 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 TranscribeMedicalRegion
region,
(Key
"VocabularyName" 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
vocabularyName,
forall a. a -> Maybe a
Prelude.Just (Key
"LanguageCode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= TranscribeMedicalLanguageCode
languageCode),
forall a. a -> Maybe a
Prelude.Just (Key
"Specialty" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= TranscribeMedicalSpecialty
specialty),
forall a. a -> Maybe a
Prelude.Just (Key
"Type" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= TranscribeMedicalType
type')
]
)