{-# 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.FraudDetector.DescribeDetector
-- 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 all versions for a specified detector.
module Amazonka.FraudDetector.DescribeDetector
  ( -- * Creating a Request
    DescribeDetector (..),
    newDescribeDetector,

    -- * Request Lenses
    describeDetector_maxResults,
    describeDetector_nextToken,
    describeDetector_detectorId,

    -- * Destructuring the Response
    DescribeDetectorResponse (..),
    newDescribeDetectorResponse,

    -- * Response Lenses
    describeDetectorResponse_arn,
    describeDetectorResponse_detectorId,
    describeDetectorResponse_detectorVersionSummaries,
    describeDetectorResponse_nextToken,
    describeDetectorResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeDetector' smart constructor.
data DescribeDetector = DescribeDetector'
  { -- | The maximum number of results to return for the request.
    DescribeDetector -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The next token from the previous response.
    DescribeDetector -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The detector ID.
    DescribeDetector -> Text
detectorId :: Prelude.Text
  }
  deriving (DescribeDetector -> DescribeDetector -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDetector -> DescribeDetector -> Bool
$c/= :: DescribeDetector -> DescribeDetector -> Bool
== :: DescribeDetector -> DescribeDetector -> Bool
$c== :: DescribeDetector -> DescribeDetector -> Bool
Prelude.Eq, ReadPrec [DescribeDetector]
ReadPrec DescribeDetector
Int -> ReadS DescribeDetector
ReadS [DescribeDetector]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDetector]
$creadListPrec :: ReadPrec [DescribeDetector]
readPrec :: ReadPrec DescribeDetector
$creadPrec :: ReadPrec DescribeDetector
readList :: ReadS [DescribeDetector]
$creadList :: ReadS [DescribeDetector]
readsPrec :: Int -> ReadS DescribeDetector
$creadsPrec :: Int -> ReadS DescribeDetector
Prelude.Read, Int -> DescribeDetector -> ShowS
[DescribeDetector] -> ShowS
DescribeDetector -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDetector] -> ShowS
$cshowList :: [DescribeDetector] -> ShowS
show :: DescribeDetector -> String
$cshow :: DescribeDetector -> String
showsPrec :: Int -> DescribeDetector -> ShowS
$cshowsPrec :: Int -> DescribeDetector -> ShowS
Prelude.Show, forall x. Rep DescribeDetector x -> DescribeDetector
forall x. DescribeDetector -> Rep DescribeDetector x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeDetector x -> DescribeDetector
$cfrom :: forall x. DescribeDetector -> Rep DescribeDetector x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDetector' 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:
--
-- 'maxResults', 'describeDetector_maxResults' - The maximum number of results to return for the request.
--
-- 'nextToken', 'describeDetector_nextToken' - The next token from the previous response.
--
-- 'detectorId', 'describeDetector_detectorId' - The detector ID.
newDescribeDetector ::
  -- | 'detectorId'
  Prelude.Text ->
  DescribeDetector
newDescribeDetector :: Text -> DescribeDetector
newDescribeDetector Text
pDetectorId_ =
  DescribeDetector'
    { $sel:maxResults:DescribeDetector' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeDetector' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:detectorId:DescribeDetector' :: Text
detectorId = Text
pDetectorId_
    }

-- | The maximum number of results to return for the request.
describeDetector_maxResults :: Lens.Lens' DescribeDetector (Prelude.Maybe Prelude.Natural)
describeDetector_maxResults :: Lens' DescribeDetector (Maybe Natural)
describeDetector_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDetector' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeDetector' :: DescribeDetector -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeDetector
s@DescribeDetector' {} Maybe Natural
a -> DescribeDetector
s {$sel:maxResults:DescribeDetector' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeDetector)

-- | The next token from the previous response.
describeDetector_nextToken :: Lens.Lens' DescribeDetector (Prelude.Maybe Prelude.Text)
describeDetector_nextToken :: Lens' DescribeDetector (Maybe Text)
describeDetector_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDetector' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeDetector' :: DescribeDetector -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeDetector
s@DescribeDetector' {} Maybe Text
a -> DescribeDetector
s {$sel:nextToken:DescribeDetector' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeDetector)

-- | The detector ID.
describeDetector_detectorId :: Lens.Lens' DescribeDetector Prelude.Text
describeDetector_detectorId :: Lens' DescribeDetector Text
describeDetector_detectorId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDetector' {Text
detectorId :: Text
$sel:detectorId:DescribeDetector' :: DescribeDetector -> Text
detectorId} -> Text
detectorId) (\s :: DescribeDetector
s@DescribeDetector' {} Text
a -> DescribeDetector
s {$sel:detectorId:DescribeDetector' :: Text
detectorId = Text
a} :: DescribeDetector)

instance Core.AWSRequest DescribeDetector where
  type
    AWSResponse DescribeDetector =
      DescribeDetectorResponse
  request :: (Service -> Service)
-> DescribeDetector -> Request DescribeDetector
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeDetector
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeDetector)))
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 [DetectorVersionSummary]
-> Maybe Text
-> Int
-> DescribeDetectorResponse
DescribeDetectorResponse'
            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
"detectorId")
            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
"detectorVersionSummaries"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            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
"nextToken")
            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 DescribeDetector where
  hashWithSalt :: Int -> DescribeDetector -> Int
hashWithSalt Int
_salt DescribeDetector' {Maybe Natural
Maybe Text
Text
detectorId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:detectorId:DescribeDetector' :: DescribeDetector -> Text
$sel:nextToken:DescribeDetector' :: DescribeDetector -> Maybe Text
$sel:maxResults:DescribeDetector' :: DescribeDetector -> Maybe Natural
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
detectorId

instance Prelude.NFData DescribeDetector where
  rnf :: DescribeDetector -> ()
rnf DescribeDetector' {Maybe Natural
Maybe Text
Text
detectorId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:detectorId:DescribeDetector' :: DescribeDetector -> Text
$sel:nextToken:DescribeDetector' :: DescribeDetector -> Maybe Text
$sel:maxResults:DescribeDetector' :: DescribeDetector -> Maybe Natural
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
detectorId

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

instance Data.ToJSON DescribeDetector where
  toJSON :: DescribeDetector -> Value
toJSON DescribeDetector' {Maybe Natural
Maybe Text
Text
detectorId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:detectorId:DescribeDetector' :: DescribeDetector -> Text
$sel:nextToken:DescribeDetector' :: DescribeDetector -> Maybe Text
$sel:maxResults:DescribeDetector' :: DescribeDetector -> Maybe Natural
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"maxResults" 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 Natural
maxResults,
            (Key
"nextToken" 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
nextToken,
            forall a. a -> Maybe a
Prelude.Just (Key
"detectorId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
detectorId)
          ]
      )

instance Data.ToPath DescribeDetector where
  toPath :: DescribeDetector -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

-- | /See:/ 'newDescribeDetectorResponse' smart constructor.
data DescribeDetectorResponse = DescribeDetectorResponse'
  { -- | The detector ARN.
    DescribeDetectorResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The detector ID.
    DescribeDetectorResponse -> Maybe Text
detectorId :: Prelude.Maybe Prelude.Text,
    -- | The status and description for each detector version.
    DescribeDetectorResponse -> Maybe [DetectorVersionSummary]
detectorVersionSummaries :: Prelude.Maybe [DetectorVersionSummary],
    -- | The next token to be used for subsequent requests.
    DescribeDetectorResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeDetectorResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeDetectorResponse -> DescribeDetectorResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeDetectorResponse -> DescribeDetectorResponse -> Bool
$c/= :: DescribeDetectorResponse -> DescribeDetectorResponse -> Bool
== :: DescribeDetectorResponse -> DescribeDetectorResponse -> Bool
$c== :: DescribeDetectorResponse -> DescribeDetectorResponse -> Bool
Prelude.Eq, ReadPrec [DescribeDetectorResponse]
ReadPrec DescribeDetectorResponse
Int -> ReadS DescribeDetectorResponse
ReadS [DescribeDetectorResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeDetectorResponse]
$creadListPrec :: ReadPrec [DescribeDetectorResponse]
readPrec :: ReadPrec DescribeDetectorResponse
$creadPrec :: ReadPrec DescribeDetectorResponse
readList :: ReadS [DescribeDetectorResponse]
$creadList :: ReadS [DescribeDetectorResponse]
readsPrec :: Int -> ReadS DescribeDetectorResponse
$creadsPrec :: Int -> ReadS DescribeDetectorResponse
Prelude.Read, Int -> DescribeDetectorResponse -> ShowS
[DescribeDetectorResponse] -> ShowS
DescribeDetectorResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeDetectorResponse] -> ShowS
$cshowList :: [DescribeDetectorResponse] -> ShowS
show :: DescribeDetectorResponse -> String
$cshow :: DescribeDetectorResponse -> String
showsPrec :: Int -> DescribeDetectorResponse -> ShowS
$cshowsPrec :: Int -> DescribeDetectorResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeDetectorResponse x -> DescribeDetectorResponse
forall x.
DescribeDetectorResponse -> Rep DescribeDetectorResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeDetectorResponse x -> DescribeDetectorResponse
$cfrom :: forall x.
DescribeDetectorResponse -> Rep DescribeDetectorResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeDetectorResponse' 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', 'describeDetectorResponse_arn' - The detector ARN.
--
-- 'detectorId', 'describeDetectorResponse_detectorId' - The detector ID.
--
-- 'detectorVersionSummaries', 'describeDetectorResponse_detectorVersionSummaries' - The status and description for each detector version.
--
-- 'nextToken', 'describeDetectorResponse_nextToken' - The next token to be used for subsequent requests.
--
-- 'httpStatus', 'describeDetectorResponse_httpStatus' - The response's http status code.
newDescribeDetectorResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeDetectorResponse
newDescribeDetectorResponse :: Int -> DescribeDetectorResponse
newDescribeDetectorResponse Int
pHttpStatus_ =
  DescribeDetectorResponse'
    { $sel:arn:DescribeDetectorResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:detectorId:DescribeDetectorResponse' :: Maybe Text
detectorId = forall a. Maybe a
Prelude.Nothing,
      $sel:detectorVersionSummaries:DescribeDetectorResponse' :: Maybe [DetectorVersionSummary]
detectorVersionSummaries = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeDetectorResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeDetectorResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The detector ARN.
describeDetectorResponse_arn :: Lens.Lens' DescribeDetectorResponse (Prelude.Maybe Prelude.Text)
describeDetectorResponse_arn :: Lens' DescribeDetectorResponse (Maybe Text)
describeDetectorResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDetectorResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:DescribeDetectorResponse' :: DescribeDetectorResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: DescribeDetectorResponse
s@DescribeDetectorResponse' {} Maybe Text
a -> DescribeDetectorResponse
s {$sel:arn:DescribeDetectorResponse' :: Maybe Text
arn = Maybe Text
a} :: DescribeDetectorResponse)

-- | The detector ID.
describeDetectorResponse_detectorId :: Lens.Lens' DescribeDetectorResponse (Prelude.Maybe Prelude.Text)
describeDetectorResponse_detectorId :: Lens' DescribeDetectorResponse (Maybe Text)
describeDetectorResponse_detectorId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDetectorResponse' {Maybe Text
detectorId :: Maybe Text
$sel:detectorId:DescribeDetectorResponse' :: DescribeDetectorResponse -> Maybe Text
detectorId} -> Maybe Text
detectorId) (\s :: DescribeDetectorResponse
s@DescribeDetectorResponse' {} Maybe Text
a -> DescribeDetectorResponse
s {$sel:detectorId:DescribeDetectorResponse' :: Maybe Text
detectorId = Maybe Text
a} :: DescribeDetectorResponse)

-- | The status and description for each detector version.
describeDetectorResponse_detectorVersionSummaries :: Lens.Lens' DescribeDetectorResponse (Prelude.Maybe [DetectorVersionSummary])
describeDetectorResponse_detectorVersionSummaries :: Lens' DescribeDetectorResponse (Maybe [DetectorVersionSummary])
describeDetectorResponse_detectorVersionSummaries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDetectorResponse' {Maybe [DetectorVersionSummary]
detectorVersionSummaries :: Maybe [DetectorVersionSummary]
$sel:detectorVersionSummaries:DescribeDetectorResponse' :: DescribeDetectorResponse -> Maybe [DetectorVersionSummary]
detectorVersionSummaries} -> Maybe [DetectorVersionSummary]
detectorVersionSummaries) (\s :: DescribeDetectorResponse
s@DescribeDetectorResponse' {} Maybe [DetectorVersionSummary]
a -> DescribeDetectorResponse
s {$sel:detectorVersionSummaries:DescribeDetectorResponse' :: Maybe [DetectorVersionSummary]
detectorVersionSummaries = Maybe [DetectorVersionSummary]
a} :: DescribeDetectorResponse) 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 next token to be used for subsequent requests.
describeDetectorResponse_nextToken :: Lens.Lens' DescribeDetectorResponse (Prelude.Maybe Prelude.Text)
describeDetectorResponse_nextToken :: Lens' DescribeDetectorResponse (Maybe Text)
describeDetectorResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeDetectorResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeDetectorResponse' :: DescribeDetectorResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeDetectorResponse
s@DescribeDetectorResponse' {} Maybe Text
a -> DescribeDetectorResponse
s {$sel:nextToken:DescribeDetectorResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeDetectorResponse)

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

instance Prelude.NFData DescribeDetectorResponse where
  rnf :: DescribeDetectorResponse -> ()
rnf DescribeDetectorResponse' {Int
Maybe [DetectorVersionSummary]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
detectorVersionSummaries :: Maybe [DetectorVersionSummary]
detectorId :: Maybe Text
arn :: Maybe Text
$sel:httpStatus:DescribeDetectorResponse' :: DescribeDetectorResponse -> Int
$sel:nextToken:DescribeDetectorResponse' :: DescribeDetectorResponse -> Maybe Text
$sel:detectorVersionSummaries:DescribeDetectorResponse' :: DescribeDetectorResponse -> Maybe [DetectorVersionSummary]
$sel:detectorId:DescribeDetectorResponse' :: DescribeDetectorResponse -> Maybe Text
$sel:arn:DescribeDetectorResponse' :: DescribeDetectorResponse -> 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 Text
detectorId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [DetectorVersionSummary]
detectorVersionSummaries
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus