{-# 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.IoT.DescribeDimension
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Provides details about a dimension that is defined in your Amazon Web
-- Services accounts.
--
-- Requires permission to access the
-- <https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions DescribeDimension>
-- action.
module Amazonka.IoT.DescribeDimension
  ( -- * Creating a Request
    DescribeDimension (..),
    newDescribeDimension,

    -- * Request Lenses
    describeDimension_name,

    -- * Destructuring the Response
    DescribeDimensionResponse (..),
    newDescribeDimensionResponse,

    -- * Response Lenses
    describeDimensionResponse_arn,
    describeDimensionResponse_creationDate,
    describeDimensionResponse_lastModifiedDate,
    describeDimensionResponse_name,
    describeDimensionResponse_stringValues,
    describeDimensionResponse_type,
    describeDimensionResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeDimension' smart constructor.
data DescribeDimension = DescribeDimension'
  { -- | The unique identifier for the dimension.
    DescribeDimension -> Text
name :: Prelude.Text
  }
  deriving (DescribeDimension -> DescribeDimension -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDimension -> DescribeDimension -> Bool
$c/= :: DescribeDimension -> DescribeDimension -> Bool
== :: DescribeDimension -> DescribeDimension -> Bool
$c== :: DescribeDimension -> DescribeDimension -> Bool
Prelude.Eq, ReadPrec [DescribeDimension]
ReadPrec DescribeDimension
Int -> ReadS DescribeDimension
ReadS [DescribeDimension]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDimension]
$creadListPrec :: ReadPrec [DescribeDimension]
readPrec :: ReadPrec DescribeDimension
$creadPrec :: ReadPrec DescribeDimension
readList :: ReadS [DescribeDimension]
$creadList :: ReadS [DescribeDimension]
readsPrec :: Int -> ReadS DescribeDimension
$creadsPrec :: Int -> ReadS DescribeDimension
Prelude.Read, Int -> DescribeDimension -> ShowS
[DescribeDimension] -> ShowS
DescribeDimension -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDimension] -> ShowS
$cshowList :: [DescribeDimension] -> ShowS
show :: DescribeDimension -> String
$cshow :: DescribeDimension -> String
showsPrec :: Int -> DescribeDimension -> ShowS
$cshowsPrec :: Int -> DescribeDimension -> ShowS
Prelude.Show, forall x. Rep DescribeDimension x -> DescribeDimension
forall x. DescribeDimension -> Rep DescribeDimension x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeDimension x -> DescribeDimension
$cfrom :: forall x. DescribeDimension -> Rep DescribeDimension x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDimension' 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:
--
-- 'name', 'describeDimension_name' - The unique identifier for the dimension.
newDescribeDimension ::
  -- | 'name'
  Prelude.Text ->
  DescribeDimension
newDescribeDimension :: Text -> DescribeDimension
newDescribeDimension Text
pName_ =
  DescribeDimension' {$sel:name:DescribeDimension' :: Text
name = Text
pName_}

-- | The unique identifier for the dimension.
describeDimension_name :: Lens.Lens' DescribeDimension Prelude.Text
describeDimension_name :: Lens' DescribeDimension Text
describeDimension_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDimension' {Text
name :: Text
$sel:name:DescribeDimension' :: DescribeDimension -> Text
name} -> Text
name) (\s :: DescribeDimension
s@DescribeDimension' {} Text
a -> DescribeDimension
s {$sel:name:DescribeDimension' :: Text
name = Text
a} :: DescribeDimension)

instance Core.AWSRequest DescribeDimension where
  type
    AWSResponse DescribeDimension =
      DescribeDimensionResponse
  request :: (Service -> Service)
-> DescribeDimension -> Request DescribeDimension
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 DescribeDimension
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeDimension)))
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 POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe (NonEmpty Text)
-> Maybe DimensionType
-> Int
-> DescribeDimensionResponse
DescribeDimensionResponse'
            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
"arn")
            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
"creationDate")
            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
"lastModifiedDate")
            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
"name")
            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
"stringValues")
            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
"type")
            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 DescribeDimension where
  hashWithSalt :: Int -> DescribeDimension -> Int
hashWithSalt Int
_salt DescribeDimension' {Text
name :: Text
$sel:name:DescribeDimension' :: DescribeDimension -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name

instance Prelude.NFData DescribeDimension where
  rnf :: DescribeDimension -> ()
rnf DescribeDimension' {Text
name :: Text
$sel:name:DescribeDimension' :: DescribeDimension -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
name

instance Data.ToHeaders DescribeDimension where
  toHeaders :: DescribeDimension -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToPath DescribeDimension where
  toPath :: DescribeDimension -> ByteString
toPath DescribeDimension' {Text
name :: Text
$sel:name:DescribeDimension' :: DescribeDimension -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/dimensions/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
name]

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

-- | /See:/ 'newDescribeDimensionResponse' smart constructor.
data DescribeDimensionResponse = DescribeDimensionResponse'
  { -- | The Amazon Resource Name (ARN) for the dimension.
    DescribeDimensionResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The date the dimension was created.
    DescribeDimensionResponse -> Maybe POSIX
creationDate :: Prelude.Maybe Data.POSIX,
    -- | The date the dimension was last modified.
    DescribeDimensionResponse -> Maybe POSIX
lastModifiedDate :: Prelude.Maybe Data.POSIX,
    -- | The unique identifier for the dimension.
    DescribeDimensionResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The value or list of values used to scope the dimension. For example,
    -- for topic filters, this is the pattern used to match the MQTT topic
    -- name.
    DescribeDimensionResponse -> Maybe (NonEmpty Text)
stringValues :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
    -- | The type of the dimension.
    DescribeDimensionResponse -> Maybe DimensionType
type' :: Prelude.Maybe DimensionType,
    -- | The response's http status code.
    DescribeDimensionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeDimensionResponse -> DescribeDimensionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDimensionResponse -> DescribeDimensionResponse -> Bool
$c/= :: DescribeDimensionResponse -> DescribeDimensionResponse -> Bool
== :: DescribeDimensionResponse -> DescribeDimensionResponse -> Bool
$c== :: DescribeDimensionResponse -> DescribeDimensionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDimensionResponse]
ReadPrec DescribeDimensionResponse
Int -> ReadS DescribeDimensionResponse
ReadS [DescribeDimensionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDimensionResponse]
$creadListPrec :: ReadPrec [DescribeDimensionResponse]
readPrec :: ReadPrec DescribeDimensionResponse
$creadPrec :: ReadPrec DescribeDimensionResponse
readList :: ReadS [DescribeDimensionResponse]
$creadList :: ReadS [DescribeDimensionResponse]
readsPrec :: Int -> ReadS DescribeDimensionResponse
$creadsPrec :: Int -> ReadS DescribeDimensionResponse
Prelude.Read, Int -> DescribeDimensionResponse -> ShowS
[DescribeDimensionResponse] -> ShowS
DescribeDimensionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDimensionResponse] -> ShowS
$cshowList :: [DescribeDimensionResponse] -> ShowS
show :: DescribeDimensionResponse -> String
$cshow :: DescribeDimensionResponse -> String
showsPrec :: Int -> DescribeDimensionResponse -> ShowS
$cshowsPrec :: Int -> DescribeDimensionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDimensionResponse x -> DescribeDimensionResponse
forall x.
DescribeDimensionResponse -> Rep DescribeDimensionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDimensionResponse x -> DescribeDimensionResponse
$cfrom :: forall x.
DescribeDimensionResponse -> Rep DescribeDimensionResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDimensionResponse' 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:
--
-- 'arn', 'describeDimensionResponse_arn' - The Amazon Resource Name (ARN) for the dimension.
--
-- 'creationDate', 'describeDimensionResponse_creationDate' - The date the dimension was created.
--
-- 'lastModifiedDate', 'describeDimensionResponse_lastModifiedDate' - The date the dimension was last modified.
--
-- 'name', 'describeDimensionResponse_name' - The unique identifier for the dimension.
--
-- 'stringValues', 'describeDimensionResponse_stringValues' - The value or list of values used to scope the dimension. For example,
-- for topic filters, this is the pattern used to match the MQTT topic
-- name.
--
-- 'type'', 'describeDimensionResponse_type' - The type of the dimension.
--
-- 'httpStatus', 'describeDimensionResponse_httpStatus' - The response's http status code.
newDescribeDimensionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeDimensionResponse
newDescribeDimensionResponse :: Int -> DescribeDimensionResponse
newDescribeDimensionResponse Int
pHttpStatus_ =
  DescribeDimensionResponse'
    { $sel:arn:DescribeDimensionResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:creationDate:DescribeDimensionResponse' :: Maybe POSIX
creationDate = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedDate:DescribeDimensionResponse' :: Maybe POSIX
lastModifiedDate = forall a. Maybe a
Prelude.Nothing,
      $sel:name:DescribeDimensionResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:stringValues:DescribeDimensionResponse' :: Maybe (NonEmpty Text)
stringValues = forall a. Maybe a
Prelude.Nothing,
      $sel:type':DescribeDimensionResponse' :: Maybe DimensionType
type' = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeDimensionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Amazon Resource Name (ARN) for the dimension.
describeDimensionResponse_arn :: Lens.Lens' DescribeDimensionResponse (Prelude.Maybe Prelude.Text)
describeDimensionResponse_arn :: Lens' DescribeDimensionResponse (Maybe Text)
describeDimensionResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDimensionResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: DescribeDimensionResponse
s@DescribeDimensionResponse' {} Maybe Text
a -> DescribeDimensionResponse
s {$sel:arn:DescribeDimensionResponse' :: Maybe Text
arn = Maybe Text
a} :: DescribeDimensionResponse)

-- | The date the dimension was created.
describeDimensionResponse_creationDate :: Lens.Lens' DescribeDimensionResponse (Prelude.Maybe Prelude.UTCTime)
describeDimensionResponse_creationDate :: Lens' DescribeDimensionResponse (Maybe UTCTime)
describeDimensionResponse_creationDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDimensionResponse' {Maybe POSIX
creationDate :: Maybe POSIX
$sel:creationDate:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe POSIX
creationDate} -> Maybe POSIX
creationDate) (\s :: DescribeDimensionResponse
s@DescribeDimensionResponse' {} Maybe POSIX
a -> DescribeDimensionResponse
s {$sel:creationDate:DescribeDimensionResponse' :: Maybe POSIX
creationDate = Maybe POSIX
a} :: DescribeDimensionResponse) 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 date the dimension was last modified.
describeDimensionResponse_lastModifiedDate :: Lens.Lens' DescribeDimensionResponse (Prelude.Maybe Prelude.UTCTime)
describeDimensionResponse_lastModifiedDate :: Lens' DescribeDimensionResponse (Maybe UTCTime)
describeDimensionResponse_lastModifiedDate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDimensionResponse' {Maybe POSIX
lastModifiedDate :: Maybe POSIX
$sel:lastModifiedDate:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe POSIX
lastModifiedDate} -> Maybe POSIX
lastModifiedDate) (\s :: DescribeDimensionResponse
s@DescribeDimensionResponse' {} Maybe POSIX
a -> DescribeDimensionResponse
s {$sel:lastModifiedDate:DescribeDimensionResponse' :: Maybe POSIX
lastModifiedDate = Maybe POSIX
a} :: DescribeDimensionResponse) 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 unique identifier for the dimension.
describeDimensionResponse_name :: Lens.Lens' DescribeDimensionResponse (Prelude.Maybe Prelude.Text)
describeDimensionResponse_name :: Lens' DescribeDimensionResponse (Maybe Text)
describeDimensionResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDimensionResponse' {Maybe Text
name :: Maybe Text
$sel:name:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: DescribeDimensionResponse
s@DescribeDimensionResponse' {} Maybe Text
a -> DescribeDimensionResponse
s {$sel:name:DescribeDimensionResponse' :: Maybe Text
name = Maybe Text
a} :: DescribeDimensionResponse)

-- | The value or list of values used to scope the dimension. For example,
-- for topic filters, this is the pattern used to match the MQTT topic
-- name.
describeDimensionResponse_stringValues :: Lens.Lens' DescribeDimensionResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
describeDimensionResponse_stringValues :: Lens' DescribeDimensionResponse (Maybe (NonEmpty Text))
describeDimensionResponse_stringValues = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDimensionResponse' {Maybe (NonEmpty Text)
stringValues :: Maybe (NonEmpty Text)
$sel:stringValues:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe (NonEmpty Text)
stringValues} -> Maybe (NonEmpty Text)
stringValues) (\s :: DescribeDimensionResponse
s@DescribeDimensionResponse' {} Maybe (NonEmpty Text)
a -> DescribeDimensionResponse
s {$sel:stringValues:DescribeDimensionResponse' :: Maybe (NonEmpty Text)
stringValues = Maybe (NonEmpty Text)
a} :: DescribeDimensionResponse) 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 type of the dimension.
describeDimensionResponse_type :: Lens.Lens' DescribeDimensionResponse (Prelude.Maybe DimensionType)
describeDimensionResponse_type :: Lens' DescribeDimensionResponse (Maybe DimensionType)
describeDimensionResponse_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDimensionResponse' {Maybe DimensionType
type' :: Maybe DimensionType
$sel:type':DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe DimensionType
type'} -> Maybe DimensionType
type') (\s :: DescribeDimensionResponse
s@DescribeDimensionResponse' {} Maybe DimensionType
a -> DescribeDimensionResponse
s {$sel:type':DescribeDimensionResponse' :: Maybe DimensionType
type' = Maybe DimensionType
a} :: DescribeDimensionResponse)

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

instance Prelude.NFData DescribeDimensionResponse where
  rnf :: DescribeDimensionResponse -> ()
rnf DescribeDimensionResponse' {Int
Maybe (NonEmpty Text)
Maybe Text
Maybe POSIX
Maybe DimensionType
httpStatus :: Int
type' :: Maybe DimensionType
stringValues :: Maybe (NonEmpty Text)
name :: Maybe Text
lastModifiedDate :: Maybe POSIX
creationDate :: Maybe POSIX
arn :: Maybe Text
$sel:httpStatus:DescribeDimensionResponse' :: DescribeDimensionResponse -> Int
$sel:type':DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe DimensionType
$sel:stringValues:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe (NonEmpty Text)
$sel:name:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe Text
$sel:lastModifiedDate:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe POSIX
$sel:creationDate:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe POSIX
$sel:arn:DescribeDimensionResponse' :: DescribeDimensionResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationDate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedDate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Text)
stringValues
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DimensionType
type'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus