{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

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

-- |
-- Module      : Amazonka.LexV2Models.DescribeSlotType
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets metadata information about a slot type.
module Amazonka.LexV2Models.DescribeSlotType
  ( -- * Creating a Request
    DescribeSlotType (..),
    newDescribeSlotType,

    -- * Request Lenses
    describeSlotType_slotTypeId,
    describeSlotType_botId,
    describeSlotType_botVersion,
    describeSlotType_localeId,

    -- * Destructuring the Response
    DescribeSlotTypeResponse (..),
    newDescribeSlotTypeResponse,

    -- * Response Lenses
    describeSlotTypeResponse_botId,
    describeSlotTypeResponse_botVersion,
    describeSlotTypeResponse_compositeSlotTypeSetting,
    describeSlotTypeResponse_creationDateTime,
    describeSlotTypeResponse_description,
    describeSlotTypeResponse_externalSourceSetting,
    describeSlotTypeResponse_lastUpdatedDateTime,
    describeSlotTypeResponse_localeId,
    describeSlotTypeResponse_parentSlotTypeSignature,
    describeSlotTypeResponse_slotTypeId,
    describeSlotTypeResponse_slotTypeName,
    describeSlotTypeResponse_slotTypeValues,
    describeSlotTypeResponse_valueSelectionSetting,
    describeSlotTypeResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LexV2Models.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeSlotType' smart constructor.
data DescribeSlotType = DescribeSlotType'
  { -- | The identifier of the slot type.
    DescribeSlotType -> Text
slotTypeId :: Prelude.Text,
    -- | The identifier of the bot associated with the slot type.
    DescribeSlotType -> Text
botId :: Prelude.Text,
    -- | The version of the bot associated with the slot type.
    DescribeSlotType -> Text
botVersion :: Prelude.Text,
    -- | The identifier of the language and locale of the slot type to describe.
    -- The string must match one of the supported locales. For more
    -- information, see
    -- <https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html Supported languages>.
    DescribeSlotType -> Text
localeId :: Prelude.Text
  }
  deriving (DescribeSlotType -> DescribeSlotType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSlotType -> DescribeSlotType -> Bool
$c/= :: DescribeSlotType -> DescribeSlotType -> Bool
== :: DescribeSlotType -> DescribeSlotType -> Bool
$c== :: DescribeSlotType -> DescribeSlotType -> Bool
Prelude.Eq, ReadPrec [DescribeSlotType]
ReadPrec DescribeSlotType
Int -> ReadS DescribeSlotType
ReadS [DescribeSlotType]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSlotType]
$creadListPrec :: ReadPrec [DescribeSlotType]
readPrec :: ReadPrec DescribeSlotType
$creadPrec :: ReadPrec DescribeSlotType
readList :: ReadS [DescribeSlotType]
$creadList :: ReadS [DescribeSlotType]
readsPrec :: Int -> ReadS DescribeSlotType
$creadsPrec :: Int -> ReadS DescribeSlotType
Prelude.Read, Int -> DescribeSlotType -> ShowS
[DescribeSlotType] -> ShowS
DescribeSlotType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSlotType] -> ShowS
$cshowList :: [DescribeSlotType] -> ShowS
show :: DescribeSlotType -> String
$cshow :: DescribeSlotType -> String
showsPrec :: Int -> DescribeSlotType -> ShowS
$cshowsPrec :: Int -> DescribeSlotType -> ShowS
Prelude.Show, forall x. Rep DescribeSlotType x -> DescribeSlotType
forall x. DescribeSlotType -> Rep DescribeSlotType x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSlotType x -> DescribeSlotType
$cfrom :: forall x. DescribeSlotType -> Rep DescribeSlotType x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSlotType' 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:
--
-- 'slotTypeId', 'describeSlotType_slotTypeId' - The identifier of the slot type.
--
-- 'botId', 'describeSlotType_botId' - The identifier of the bot associated with the slot type.
--
-- 'botVersion', 'describeSlotType_botVersion' - The version of the bot associated with the slot type.
--
-- 'localeId', 'describeSlotType_localeId' - The identifier of the language and locale of the slot type to describe.
-- The string must match one of the supported locales. For more
-- information, see
-- <https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html Supported languages>.
newDescribeSlotType ::
  -- | 'slotTypeId'
  Prelude.Text ->
  -- | 'botId'
  Prelude.Text ->
  -- | 'botVersion'
  Prelude.Text ->
  -- | 'localeId'
  Prelude.Text ->
  DescribeSlotType
newDescribeSlotType :: Text -> Text -> Text -> Text -> DescribeSlotType
newDescribeSlotType
  Text
pSlotTypeId_
  Text
pBotId_
  Text
pBotVersion_
  Text
pLocaleId_ =
    DescribeSlotType'
      { $sel:slotTypeId:DescribeSlotType' :: Text
slotTypeId = Text
pSlotTypeId_,
        $sel:botId:DescribeSlotType' :: Text
botId = Text
pBotId_,
        $sel:botVersion:DescribeSlotType' :: Text
botVersion = Text
pBotVersion_,
        $sel:localeId:DescribeSlotType' :: Text
localeId = Text
pLocaleId_
      }

-- | The identifier of the slot type.
describeSlotType_slotTypeId :: Lens.Lens' DescribeSlotType Prelude.Text
describeSlotType_slotTypeId :: Lens' DescribeSlotType Text
describeSlotType_slotTypeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotType' {Text
slotTypeId :: Text
$sel:slotTypeId:DescribeSlotType' :: DescribeSlotType -> Text
slotTypeId} -> Text
slotTypeId) (\s :: DescribeSlotType
s@DescribeSlotType' {} Text
a -> DescribeSlotType
s {$sel:slotTypeId:DescribeSlotType' :: Text
slotTypeId = Text
a} :: DescribeSlotType)

-- | The identifier of the bot associated with the slot type.
describeSlotType_botId :: Lens.Lens' DescribeSlotType Prelude.Text
describeSlotType_botId :: Lens' DescribeSlotType Text
describeSlotType_botId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotType' {Text
botId :: Text
$sel:botId:DescribeSlotType' :: DescribeSlotType -> Text
botId} -> Text
botId) (\s :: DescribeSlotType
s@DescribeSlotType' {} Text
a -> DescribeSlotType
s {$sel:botId:DescribeSlotType' :: Text
botId = Text
a} :: DescribeSlotType)

-- | The version of the bot associated with the slot type.
describeSlotType_botVersion :: Lens.Lens' DescribeSlotType Prelude.Text
describeSlotType_botVersion :: Lens' DescribeSlotType Text
describeSlotType_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotType' {Text
botVersion :: Text
$sel:botVersion:DescribeSlotType' :: DescribeSlotType -> Text
botVersion} -> Text
botVersion) (\s :: DescribeSlotType
s@DescribeSlotType' {} Text
a -> DescribeSlotType
s {$sel:botVersion:DescribeSlotType' :: Text
botVersion = Text
a} :: DescribeSlotType)

-- | The identifier of the language and locale of the slot type to describe.
-- The string must match one of the supported locales. For more
-- information, see
-- <https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html Supported languages>.
describeSlotType_localeId :: Lens.Lens' DescribeSlotType Prelude.Text
describeSlotType_localeId :: Lens' DescribeSlotType Text
describeSlotType_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotType' {Text
localeId :: Text
$sel:localeId:DescribeSlotType' :: DescribeSlotType -> Text
localeId} -> Text
localeId) (\s :: DescribeSlotType
s@DescribeSlotType' {} Text
a -> DescribeSlotType
s {$sel:localeId:DescribeSlotType' :: Text
localeId = Text
a} :: DescribeSlotType)

instance Core.AWSRequest DescribeSlotType where
  type
    AWSResponse DescribeSlotType =
      DescribeSlotTypeResponse
  request :: (Service -> Service)
-> DescribeSlotType -> Request DescribeSlotType
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeSlotType
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeSlotType)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe CompositeSlotTypeSetting
-> Maybe POSIX
-> Maybe Text
-> Maybe ExternalSourceSetting
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (NonEmpty SlotTypeValue)
-> Maybe SlotValueSelectionSetting
-> Int
-> DescribeSlotTypeResponse
DescribeSlotTypeResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"botId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"botVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"compositeSlotTypeSetting")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"creationDateTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"externalSourceSetting")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"lastUpdatedDateTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"localeId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"parentSlotTypeSignature")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"slotTypeId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"slotTypeName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"slotTypeValues")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"valueSelectionSetting")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeSlotType where
  hashWithSalt :: Int -> DescribeSlotType -> Int
hashWithSalt Int
_salt DescribeSlotType' {Text
localeId :: Text
botVersion :: Text
botId :: Text
slotTypeId :: Text
$sel:localeId:DescribeSlotType' :: DescribeSlotType -> Text
$sel:botVersion:DescribeSlotType' :: DescribeSlotType -> Text
$sel:botId:DescribeSlotType' :: DescribeSlotType -> Text
$sel:slotTypeId:DescribeSlotType' :: DescribeSlotType -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
slotTypeId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
botId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
botVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
localeId

instance Prelude.NFData DescribeSlotType where
  rnf :: DescribeSlotType -> ()
rnf DescribeSlotType' {Text
localeId :: Text
botVersion :: Text
botId :: Text
slotTypeId :: Text
$sel:localeId:DescribeSlotType' :: DescribeSlotType -> Text
$sel:botVersion:DescribeSlotType' :: DescribeSlotType -> Text
$sel:botId:DescribeSlotType' :: DescribeSlotType -> Text
$sel:slotTypeId:DescribeSlotType' :: DescribeSlotType -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
slotTypeId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
botId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
botVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
localeId

instance Data.ToHeaders DescribeSlotType where
  toHeaders :: DescribeSlotType -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToPath DescribeSlotType where
  toPath :: DescribeSlotType -> ByteString
toPath DescribeSlotType' {Text
localeId :: Text
botVersion :: Text
botId :: Text
slotTypeId :: Text
$sel:localeId:DescribeSlotType' :: DescribeSlotType -> Text
$sel:botVersion:DescribeSlotType' :: DescribeSlotType -> Text
$sel:botId:DescribeSlotType' :: DescribeSlotType -> Text
$sel:slotTypeId:DescribeSlotType' :: DescribeSlotType -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/bots/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
botId,
        ByteString
"/botversions/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
botVersion,
        ByteString
"/botlocales/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
localeId,
        ByteString
"/slottypes/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
slotTypeId,
        ByteString
"/"
      ]

instance Data.ToQuery DescribeSlotType where
  toQuery :: DescribeSlotType -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeSlotTypeResponse' smart constructor.
data DescribeSlotTypeResponse = DescribeSlotTypeResponse'
  { -- | The identifier of the bot associated with the slot type.
    DescribeSlotTypeResponse -> Maybe Text
botId :: Prelude.Maybe Prelude.Text,
    -- | The version of the bot associated with the slot type.
    DescribeSlotTypeResponse -> Maybe Text
botVersion :: Prelude.Maybe Prelude.Text,
    -- | Specifications for a composite slot type.
    DescribeSlotTypeResponse -> Maybe CompositeSlotTypeSetting
compositeSlotTypeSetting :: Prelude.Maybe CompositeSlotTypeSetting,
    -- | A timestamp of the date and time that the slot type was created.
    DescribeSlotTypeResponse -> Maybe POSIX
creationDateTime :: Prelude.Maybe Data.POSIX,
    -- | The description specified for the slot type.
    DescribeSlotTypeResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    DescribeSlotTypeResponse -> Maybe ExternalSourceSetting
externalSourceSetting :: Prelude.Maybe ExternalSourceSetting,
    -- | A timestamp of the date and time that the slot type was last updated.
    DescribeSlotTypeResponse -> Maybe POSIX
lastUpdatedDateTime :: Prelude.Maybe Data.POSIX,
    -- | The language and locale specified for the slot type.
    DescribeSlotTypeResponse -> Maybe Text
localeId :: Prelude.Maybe Prelude.Text,
    -- | The built in slot type used as a parent to this slot type.
    DescribeSlotTypeResponse -> Maybe Text
parentSlotTypeSignature :: Prelude.Maybe Prelude.Text,
    -- | The unique identifier for the slot type.
    DescribeSlotTypeResponse -> Maybe Text
slotTypeId :: Prelude.Maybe Prelude.Text,
    -- | The name specified for the slot type.
    DescribeSlotTypeResponse -> Maybe Text
slotTypeName :: Prelude.Maybe Prelude.Text,
    -- | The values that the slot type can take. Includes any synonyms for the
    -- slot type values.
    DescribeSlotTypeResponse -> Maybe (NonEmpty SlotTypeValue)
slotTypeValues :: Prelude.Maybe (Prelude.NonEmpty SlotTypeValue),
    -- | The strategy that Amazon Lex uses to choose a value from a list of
    -- possible values.
    DescribeSlotTypeResponse -> Maybe SlotValueSelectionSetting
valueSelectionSetting :: Prelude.Maybe SlotValueSelectionSetting,
    -- | The response's http status code.
    DescribeSlotTypeResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeSlotTypeResponse -> DescribeSlotTypeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSlotTypeResponse -> DescribeSlotTypeResponse -> Bool
$c/= :: DescribeSlotTypeResponse -> DescribeSlotTypeResponse -> Bool
== :: DescribeSlotTypeResponse -> DescribeSlotTypeResponse -> Bool
$c== :: DescribeSlotTypeResponse -> DescribeSlotTypeResponse -> Bool
Prelude.Eq, ReadPrec [DescribeSlotTypeResponse]
ReadPrec DescribeSlotTypeResponse
Int -> ReadS DescribeSlotTypeResponse
ReadS [DescribeSlotTypeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSlotTypeResponse]
$creadListPrec :: ReadPrec [DescribeSlotTypeResponse]
readPrec :: ReadPrec DescribeSlotTypeResponse
$creadPrec :: ReadPrec DescribeSlotTypeResponse
readList :: ReadS [DescribeSlotTypeResponse]
$creadList :: ReadS [DescribeSlotTypeResponse]
readsPrec :: Int -> ReadS DescribeSlotTypeResponse
$creadsPrec :: Int -> ReadS DescribeSlotTypeResponse
Prelude.Read, Int -> DescribeSlotTypeResponse -> ShowS
[DescribeSlotTypeResponse] -> ShowS
DescribeSlotTypeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSlotTypeResponse] -> ShowS
$cshowList :: [DescribeSlotTypeResponse] -> ShowS
show :: DescribeSlotTypeResponse -> String
$cshow :: DescribeSlotTypeResponse -> String
showsPrec :: Int -> DescribeSlotTypeResponse -> ShowS
$cshowsPrec :: Int -> DescribeSlotTypeResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeSlotTypeResponse x -> DescribeSlotTypeResponse
forall x.
DescribeSlotTypeResponse -> Rep DescribeSlotTypeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeSlotTypeResponse x -> DescribeSlotTypeResponse
$cfrom :: forall x.
DescribeSlotTypeResponse -> Rep DescribeSlotTypeResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSlotTypeResponse' 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:
--
-- 'botId', 'describeSlotTypeResponse_botId' - The identifier of the bot associated with the slot type.
--
-- 'botVersion', 'describeSlotTypeResponse_botVersion' - The version of the bot associated with the slot type.
--
-- 'compositeSlotTypeSetting', 'describeSlotTypeResponse_compositeSlotTypeSetting' - Specifications for a composite slot type.
--
-- 'creationDateTime', 'describeSlotTypeResponse_creationDateTime' - A timestamp of the date and time that the slot type was created.
--
-- 'description', 'describeSlotTypeResponse_description' - The description specified for the slot type.
--
-- 'externalSourceSetting', 'describeSlotTypeResponse_externalSourceSetting' - Undocumented member.
--
-- 'lastUpdatedDateTime', 'describeSlotTypeResponse_lastUpdatedDateTime' - A timestamp of the date and time that the slot type was last updated.
--
-- 'localeId', 'describeSlotTypeResponse_localeId' - The language and locale specified for the slot type.
--
-- 'parentSlotTypeSignature', 'describeSlotTypeResponse_parentSlotTypeSignature' - The built in slot type used as a parent to this slot type.
--
-- 'slotTypeId', 'describeSlotTypeResponse_slotTypeId' - The unique identifier for the slot type.
--
-- 'slotTypeName', 'describeSlotTypeResponse_slotTypeName' - The name specified for the slot type.
--
-- 'slotTypeValues', 'describeSlotTypeResponse_slotTypeValues' - The values that the slot type can take. Includes any synonyms for the
-- slot type values.
--
-- 'valueSelectionSetting', 'describeSlotTypeResponse_valueSelectionSetting' - The strategy that Amazon Lex uses to choose a value from a list of
-- possible values.
--
-- 'httpStatus', 'describeSlotTypeResponse_httpStatus' - The response's http status code.
newDescribeSlotTypeResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeSlotTypeResponse
newDescribeSlotTypeResponse :: Int -> DescribeSlotTypeResponse
newDescribeSlotTypeResponse Int
pHttpStatus_ =
  DescribeSlotTypeResponse'
    { $sel:botId:DescribeSlotTypeResponse' :: Maybe Text
botId = forall a. Maybe a
Prelude.Nothing,
      $sel:botVersion:DescribeSlotTypeResponse' :: Maybe Text
botVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:compositeSlotTypeSetting:DescribeSlotTypeResponse' :: Maybe CompositeSlotTypeSetting
compositeSlotTypeSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:creationDateTime:DescribeSlotTypeResponse' :: Maybe POSIX
creationDateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:description:DescribeSlotTypeResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:externalSourceSetting:DescribeSlotTypeResponse' :: Maybe ExternalSourceSetting
externalSourceSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedDateTime:DescribeSlotTypeResponse' :: Maybe POSIX
lastUpdatedDateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:localeId:DescribeSlotTypeResponse' :: Maybe Text
localeId = forall a. Maybe a
Prelude.Nothing,
      $sel:parentSlotTypeSignature:DescribeSlotTypeResponse' :: Maybe Text
parentSlotTypeSignature = forall a. Maybe a
Prelude.Nothing,
      $sel:slotTypeId:DescribeSlotTypeResponse' :: Maybe Text
slotTypeId = forall a. Maybe a
Prelude.Nothing,
      $sel:slotTypeName:DescribeSlotTypeResponse' :: Maybe Text
slotTypeName = forall a. Maybe a
Prelude.Nothing,
      $sel:slotTypeValues:DescribeSlotTypeResponse' :: Maybe (NonEmpty SlotTypeValue)
slotTypeValues = forall a. Maybe a
Prelude.Nothing,
      $sel:valueSelectionSetting:DescribeSlotTypeResponse' :: Maybe SlotValueSelectionSetting
valueSelectionSetting = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeSlotTypeResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The identifier of the bot associated with the slot type.
describeSlotTypeResponse_botId :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.Text)
describeSlotTypeResponse_botId :: Lens' DescribeSlotTypeResponse (Maybe Text)
describeSlotTypeResponse_botId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe Text
botId :: Maybe Text
$sel:botId:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
botId} -> Maybe Text
botId) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe Text
a -> DescribeSlotTypeResponse
s {$sel:botId:DescribeSlotTypeResponse' :: Maybe Text
botId = Maybe Text
a} :: DescribeSlotTypeResponse)

-- | The version of the bot associated with the slot type.
describeSlotTypeResponse_botVersion :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.Text)
describeSlotTypeResponse_botVersion :: Lens' DescribeSlotTypeResponse (Maybe Text)
describeSlotTypeResponse_botVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe Text
botVersion :: Maybe Text
$sel:botVersion:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
botVersion} -> Maybe Text
botVersion) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe Text
a -> DescribeSlotTypeResponse
s {$sel:botVersion:DescribeSlotTypeResponse' :: Maybe Text
botVersion = Maybe Text
a} :: DescribeSlotTypeResponse)

-- | Specifications for a composite slot type.
describeSlotTypeResponse_compositeSlotTypeSetting :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe CompositeSlotTypeSetting)
describeSlotTypeResponse_compositeSlotTypeSetting :: Lens' DescribeSlotTypeResponse (Maybe CompositeSlotTypeSetting)
describeSlotTypeResponse_compositeSlotTypeSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe CompositeSlotTypeSetting
compositeSlotTypeSetting :: Maybe CompositeSlotTypeSetting
$sel:compositeSlotTypeSetting:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe CompositeSlotTypeSetting
compositeSlotTypeSetting} -> Maybe CompositeSlotTypeSetting
compositeSlotTypeSetting) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe CompositeSlotTypeSetting
a -> DescribeSlotTypeResponse
s {$sel:compositeSlotTypeSetting:DescribeSlotTypeResponse' :: Maybe CompositeSlotTypeSetting
compositeSlotTypeSetting = Maybe CompositeSlotTypeSetting
a} :: DescribeSlotTypeResponse)

-- | A timestamp of the date and time that the slot type was created.
describeSlotTypeResponse_creationDateTime :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.UTCTime)
describeSlotTypeResponse_creationDateTime :: Lens' DescribeSlotTypeResponse (Maybe UTCTime)
describeSlotTypeResponse_creationDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe POSIX
creationDateTime :: Maybe POSIX
$sel:creationDateTime:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe POSIX
creationDateTime} -> Maybe POSIX
creationDateTime) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe POSIX
a -> DescribeSlotTypeResponse
s {$sel:creationDateTime:DescribeSlotTypeResponse' :: Maybe POSIX
creationDateTime = Maybe POSIX
a} :: DescribeSlotTypeResponse) 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 description specified for the slot type.
describeSlotTypeResponse_description :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.Text)
describeSlotTypeResponse_description :: Lens' DescribeSlotTypeResponse (Maybe Text)
describeSlotTypeResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe Text
description :: Maybe Text
$sel:description:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe Text
a -> DescribeSlotTypeResponse
s {$sel:description:DescribeSlotTypeResponse' :: Maybe Text
description = Maybe Text
a} :: DescribeSlotTypeResponse)

-- | Undocumented member.
describeSlotTypeResponse_externalSourceSetting :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe ExternalSourceSetting)
describeSlotTypeResponse_externalSourceSetting :: Lens' DescribeSlotTypeResponse (Maybe ExternalSourceSetting)
describeSlotTypeResponse_externalSourceSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe ExternalSourceSetting
externalSourceSetting :: Maybe ExternalSourceSetting
$sel:externalSourceSetting:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe ExternalSourceSetting
externalSourceSetting} -> Maybe ExternalSourceSetting
externalSourceSetting) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe ExternalSourceSetting
a -> DescribeSlotTypeResponse
s {$sel:externalSourceSetting:DescribeSlotTypeResponse' :: Maybe ExternalSourceSetting
externalSourceSetting = Maybe ExternalSourceSetting
a} :: DescribeSlotTypeResponse)

-- | A timestamp of the date and time that the slot type was last updated.
describeSlotTypeResponse_lastUpdatedDateTime :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.UTCTime)
describeSlotTypeResponse_lastUpdatedDateTime :: Lens' DescribeSlotTypeResponse (Maybe UTCTime)
describeSlotTypeResponse_lastUpdatedDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe POSIX
lastUpdatedDateTime :: Maybe POSIX
$sel:lastUpdatedDateTime:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe POSIX
lastUpdatedDateTime} -> Maybe POSIX
lastUpdatedDateTime) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe POSIX
a -> DescribeSlotTypeResponse
s {$sel:lastUpdatedDateTime:DescribeSlotTypeResponse' :: Maybe POSIX
lastUpdatedDateTime = Maybe POSIX
a} :: DescribeSlotTypeResponse) 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 language and locale specified for the slot type.
describeSlotTypeResponse_localeId :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.Text)
describeSlotTypeResponse_localeId :: Lens' DescribeSlotTypeResponse (Maybe Text)
describeSlotTypeResponse_localeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe Text
localeId :: Maybe Text
$sel:localeId:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
localeId} -> Maybe Text
localeId) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe Text
a -> DescribeSlotTypeResponse
s {$sel:localeId:DescribeSlotTypeResponse' :: Maybe Text
localeId = Maybe Text
a} :: DescribeSlotTypeResponse)

-- | The built in slot type used as a parent to this slot type.
describeSlotTypeResponse_parentSlotTypeSignature :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.Text)
describeSlotTypeResponse_parentSlotTypeSignature :: Lens' DescribeSlotTypeResponse (Maybe Text)
describeSlotTypeResponse_parentSlotTypeSignature = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe Text
parentSlotTypeSignature :: Maybe Text
$sel:parentSlotTypeSignature:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
parentSlotTypeSignature} -> Maybe Text
parentSlotTypeSignature) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe Text
a -> DescribeSlotTypeResponse
s {$sel:parentSlotTypeSignature:DescribeSlotTypeResponse' :: Maybe Text
parentSlotTypeSignature = Maybe Text
a} :: DescribeSlotTypeResponse)

-- | The unique identifier for the slot type.
describeSlotTypeResponse_slotTypeId :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.Text)
describeSlotTypeResponse_slotTypeId :: Lens' DescribeSlotTypeResponse (Maybe Text)
describeSlotTypeResponse_slotTypeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe Text
slotTypeId :: Maybe Text
$sel:slotTypeId:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
slotTypeId} -> Maybe Text
slotTypeId) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe Text
a -> DescribeSlotTypeResponse
s {$sel:slotTypeId:DescribeSlotTypeResponse' :: Maybe Text
slotTypeId = Maybe Text
a} :: DescribeSlotTypeResponse)

-- | The name specified for the slot type.
describeSlotTypeResponse_slotTypeName :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe Prelude.Text)
describeSlotTypeResponse_slotTypeName :: Lens' DescribeSlotTypeResponse (Maybe Text)
describeSlotTypeResponse_slotTypeName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe Text
slotTypeName :: Maybe Text
$sel:slotTypeName:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
slotTypeName} -> Maybe Text
slotTypeName) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe Text
a -> DescribeSlotTypeResponse
s {$sel:slotTypeName:DescribeSlotTypeResponse' :: Maybe Text
slotTypeName = Maybe Text
a} :: DescribeSlotTypeResponse)

-- | The values that the slot type can take. Includes any synonyms for the
-- slot type values.
describeSlotTypeResponse_slotTypeValues :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe (Prelude.NonEmpty SlotTypeValue))
describeSlotTypeResponse_slotTypeValues :: Lens' DescribeSlotTypeResponse (Maybe (NonEmpty SlotTypeValue))
describeSlotTypeResponse_slotTypeValues = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe (NonEmpty SlotTypeValue)
slotTypeValues :: Maybe (NonEmpty SlotTypeValue)
$sel:slotTypeValues:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe (NonEmpty SlotTypeValue)
slotTypeValues} -> Maybe (NonEmpty SlotTypeValue)
slotTypeValues) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe (NonEmpty SlotTypeValue)
a -> DescribeSlotTypeResponse
s {$sel:slotTypeValues:DescribeSlotTypeResponse' :: Maybe (NonEmpty SlotTypeValue)
slotTypeValues = Maybe (NonEmpty SlotTypeValue)
a} :: DescribeSlotTypeResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The strategy that Amazon Lex uses to choose a value from a list of
-- possible values.
describeSlotTypeResponse_valueSelectionSetting :: Lens.Lens' DescribeSlotTypeResponse (Prelude.Maybe SlotValueSelectionSetting)
describeSlotTypeResponse_valueSelectionSetting :: Lens' DescribeSlotTypeResponse (Maybe SlotValueSelectionSetting)
describeSlotTypeResponse_valueSelectionSetting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Maybe SlotValueSelectionSetting
valueSelectionSetting :: Maybe SlotValueSelectionSetting
$sel:valueSelectionSetting:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe SlotValueSelectionSetting
valueSelectionSetting} -> Maybe SlotValueSelectionSetting
valueSelectionSetting) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Maybe SlotValueSelectionSetting
a -> DescribeSlotTypeResponse
s {$sel:valueSelectionSetting:DescribeSlotTypeResponse' :: Maybe SlotValueSelectionSetting
valueSelectionSetting = Maybe SlotValueSelectionSetting
a} :: DescribeSlotTypeResponse)

-- | The response's http status code.
describeSlotTypeResponse_httpStatus :: Lens.Lens' DescribeSlotTypeResponse Prelude.Int
describeSlotTypeResponse_httpStatus :: Lens' DescribeSlotTypeResponse Int
describeSlotTypeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSlotTypeResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeSlotTypeResponse
s@DescribeSlotTypeResponse' {} Int
a -> DescribeSlotTypeResponse
s {$sel:httpStatus:DescribeSlotTypeResponse' :: Int
httpStatus = Int
a} :: DescribeSlotTypeResponse)

instance Prelude.NFData DescribeSlotTypeResponse where
  rnf :: DescribeSlotTypeResponse -> ()
rnf DescribeSlotTypeResponse' {Int
Maybe (NonEmpty SlotTypeValue)
Maybe Text
Maybe POSIX
Maybe ExternalSourceSetting
Maybe SlotValueSelectionSetting
Maybe CompositeSlotTypeSetting
httpStatus :: Int
valueSelectionSetting :: Maybe SlotValueSelectionSetting
slotTypeValues :: Maybe (NonEmpty SlotTypeValue)
slotTypeName :: Maybe Text
slotTypeId :: Maybe Text
parentSlotTypeSignature :: Maybe Text
localeId :: Maybe Text
lastUpdatedDateTime :: Maybe POSIX
externalSourceSetting :: Maybe ExternalSourceSetting
description :: Maybe Text
creationDateTime :: Maybe POSIX
compositeSlotTypeSetting :: Maybe CompositeSlotTypeSetting
botVersion :: Maybe Text
botId :: Maybe Text
$sel:httpStatus:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Int
$sel:valueSelectionSetting:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe SlotValueSelectionSetting
$sel:slotTypeValues:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe (NonEmpty SlotTypeValue)
$sel:slotTypeName:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
$sel:slotTypeId:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
$sel:parentSlotTypeSignature:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
$sel:localeId:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
$sel:lastUpdatedDateTime:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe POSIX
$sel:externalSourceSetting:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe ExternalSourceSetting
$sel:description:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
$sel:creationDateTime:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe POSIX
$sel:compositeSlotTypeSetting:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe CompositeSlotTypeSetting
$sel:botVersion:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
$sel:botId:DescribeSlotTypeResponse' :: DescribeSlotTypeResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
botId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
botVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CompositeSlotTypeSetting
compositeSlotTypeSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationDateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ExternalSourceSetting
externalSourceSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedDateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
localeId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
parentSlotTypeSignature
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
slotTypeId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
slotTypeName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty SlotTypeValue)
slotTypeValues
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SlotValueSelectionSetting
valueSelectionSetting
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus