{-# 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.GuardDuty.GetThreatIntelSet
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.
module Amazonka.GuardDuty.GetThreatIntelSet
  ( -- * Creating a Request
    GetThreatIntelSet (..),
    newGetThreatIntelSet,

    -- * Request Lenses
    getThreatIntelSet_detectorId,
    getThreatIntelSet_threatIntelSetId,

    -- * Destructuring the Response
    GetThreatIntelSetResponse (..),
    newGetThreatIntelSetResponse,

    -- * Response Lenses
    getThreatIntelSetResponse_tags,
    getThreatIntelSetResponse_httpStatus,
    getThreatIntelSetResponse_name,
    getThreatIntelSetResponse_format,
    getThreatIntelSetResponse_location,
    getThreatIntelSetResponse_status,
  )
where

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

-- | /See:/ 'newGetThreatIntelSet' smart constructor.
data GetThreatIntelSet = GetThreatIntelSet'
  { -- | The unique ID of the detector that the threatIntelSet is associated
    -- with.
    GetThreatIntelSet -> Text
detectorId :: Prelude.Text,
    -- | The unique ID of the threatIntelSet that you want to get.
    GetThreatIntelSet -> Text
threatIntelSetId :: Prelude.Text
  }
  deriving (GetThreatIntelSet -> GetThreatIntelSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetThreatIntelSet -> GetThreatIntelSet -> Bool
$c/= :: GetThreatIntelSet -> GetThreatIntelSet -> Bool
== :: GetThreatIntelSet -> GetThreatIntelSet -> Bool
$c== :: GetThreatIntelSet -> GetThreatIntelSet -> Bool
Prelude.Eq, ReadPrec [GetThreatIntelSet]
ReadPrec GetThreatIntelSet
Int -> ReadS GetThreatIntelSet
ReadS [GetThreatIntelSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetThreatIntelSet]
$creadListPrec :: ReadPrec [GetThreatIntelSet]
readPrec :: ReadPrec GetThreatIntelSet
$creadPrec :: ReadPrec GetThreatIntelSet
readList :: ReadS [GetThreatIntelSet]
$creadList :: ReadS [GetThreatIntelSet]
readsPrec :: Int -> ReadS GetThreatIntelSet
$creadsPrec :: Int -> ReadS GetThreatIntelSet
Prelude.Read, Int -> GetThreatIntelSet -> ShowS
[GetThreatIntelSet] -> ShowS
GetThreatIntelSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetThreatIntelSet] -> ShowS
$cshowList :: [GetThreatIntelSet] -> ShowS
show :: GetThreatIntelSet -> String
$cshow :: GetThreatIntelSet -> String
showsPrec :: Int -> GetThreatIntelSet -> ShowS
$cshowsPrec :: Int -> GetThreatIntelSet -> ShowS
Prelude.Show, forall x. Rep GetThreatIntelSet x -> GetThreatIntelSet
forall x. GetThreatIntelSet -> Rep GetThreatIntelSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetThreatIntelSet x -> GetThreatIntelSet
$cfrom :: forall x. GetThreatIntelSet -> Rep GetThreatIntelSet x
Prelude.Generic)

-- |
-- Create a value of 'GetThreatIntelSet' 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:
--
-- 'detectorId', 'getThreatIntelSet_detectorId' - The unique ID of the detector that the threatIntelSet is associated
-- with.
--
-- 'threatIntelSetId', 'getThreatIntelSet_threatIntelSetId' - The unique ID of the threatIntelSet that you want to get.
newGetThreatIntelSet ::
  -- | 'detectorId'
  Prelude.Text ->
  -- | 'threatIntelSetId'
  Prelude.Text ->
  GetThreatIntelSet
newGetThreatIntelSet :: Text -> Text -> GetThreatIntelSet
newGetThreatIntelSet Text
pDetectorId_ Text
pThreatIntelSetId_ =
  GetThreatIntelSet'
    { $sel:detectorId:GetThreatIntelSet' :: Text
detectorId = Text
pDetectorId_,
      $sel:threatIntelSetId:GetThreatIntelSet' :: Text
threatIntelSetId = Text
pThreatIntelSetId_
    }

-- | The unique ID of the detector that the threatIntelSet is associated
-- with.
getThreatIntelSet_detectorId :: Lens.Lens' GetThreatIntelSet Prelude.Text
getThreatIntelSet_detectorId :: Lens' GetThreatIntelSet Text
getThreatIntelSet_detectorId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSet' {Text
detectorId :: Text
$sel:detectorId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
detectorId} -> Text
detectorId) (\s :: GetThreatIntelSet
s@GetThreatIntelSet' {} Text
a -> GetThreatIntelSet
s {$sel:detectorId:GetThreatIntelSet' :: Text
detectorId = Text
a} :: GetThreatIntelSet)

-- | The unique ID of the threatIntelSet that you want to get.
getThreatIntelSet_threatIntelSetId :: Lens.Lens' GetThreatIntelSet Prelude.Text
getThreatIntelSet_threatIntelSetId :: Lens' GetThreatIntelSet Text
getThreatIntelSet_threatIntelSetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSet' {Text
threatIntelSetId :: Text
$sel:threatIntelSetId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
threatIntelSetId} -> Text
threatIntelSetId) (\s :: GetThreatIntelSet
s@GetThreatIntelSet' {} Text
a -> GetThreatIntelSet
s {$sel:threatIntelSetId:GetThreatIntelSet' :: Text
threatIntelSetId = Text
a} :: GetThreatIntelSet)

instance Core.AWSRequest GetThreatIntelSet where
  type
    AWSResponse GetThreatIntelSet =
      GetThreatIntelSetResponse
  request :: (Service -> Service)
-> GetThreatIntelSet -> Request GetThreatIntelSet
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 GetThreatIntelSet
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetThreatIntelSet)))
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 (HashMap Text Text)
-> Int
-> Text
-> ThreatIntelSetFormat
-> Text
-> ThreatIntelSetStatus
-> GetThreatIntelSetResponse
GetThreatIntelSetResponse'
            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
"tags" 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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String 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 a
Data..:> Key
"format")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"location")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"status")
      )

instance Prelude.Hashable GetThreatIntelSet where
  hashWithSalt :: Int -> GetThreatIntelSet -> Int
hashWithSalt Int
_salt GetThreatIntelSet' {Text
threatIntelSetId :: Text
detectorId :: Text
$sel:threatIntelSetId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
$sel:detectorId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
detectorId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
threatIntelSetId

instance Prelude.NFData GetThreatIntelSet where
  rnf :: GetThreatIntelSet -> ()
rnf GetThreatIntelSet' {Text
threatIntelSetId :: Text
detectorId :: Text
$sel:threatIntelSetId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
$sel:detectorId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
detectorId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
threatIntelSetId

instance Data.ToHeaders GetThreatIntelSet where
  toHeaders :: GetThreatIntelSet -> 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 GetThreatIntelSet where
  toPath :: GetThreatIntelSet -> ByteString
toPath GetThreatIntelSet' {Text
threatIntelSetId :: Text
detectorId :: Text
$sel:threatIntelSetId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
$sel:detectorId:GetThreatIntelSet' :: GetThreatIntelSet -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/detector/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
detectorId,
        ByteString
"/threatintelset/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
threatIntelSetId
      ]

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

-- | /See:/ 'newGetThreatIntelSetResponse' smart constructor.
data GetThreatIntelSetResponse = GetThreatIntelSetResponse'
  { -- | The tags of the threat list resource.
    GetThreatIntelSetResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    GetThreatIntelSetResponse -> Int
httpStatus :: Prelude.Int,
    -- | A user-friendly ThreatIntelSet name displayed in all findings that are
    -- generated by activity that involves IP addresses included in this
    -- ThreatIntelSet.
    GetThreatIntelSetResponse -> Text
name :: Prelude.Text,
    -- | The format of the threatIntelSet.
    GetThreatIntelSetResponse -> ThreatIntelSetFormat
format :: ThreatIntelSetFormat,
    -- | The URI of the file that contains the ThreatIntelSet.
    GetThreatIntelSetResponse -> Text
location :: Prelude.Text,
    -- | The status of threatIntelSet file uploaded.
    GetThreatIntelSetResponse -> ThreatIntelSetStatus
status :: ThreatIntelSetStatus
  }
  deriving (GetThreatIntelSetResponse -> GetThreatIntelSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetThreatIntelSetResponse -> GetThreatIntelSetResponse -> Bool
$c/= :: GetThreatIntelSetResponse -> GetThreatIntelSetResponse -> Bool
== :: GetThreatIntelSetResponse -> GetThreatIntelSetResponse -> Bool
$c== :: GetThreatIntelSetResponse -> GetThreatIntelSetResponse -> Bool
Prelude.Eq, ReadPrec [GetThreatIntelSetResponse]
ReadPrec GetThreatIntelSetResponse
Int -> ReadS GetThreatIntelSetResponse
ReadS [GetThreatIntelSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetThreatIntelSetResponse]
$creadListPrec :: ReadPrec [GetThreatIntelSetResponse]
readPrec :: ReadPrec GetThreatIntelSetResponse
$creadPrec :: ReadPrec GetThreatIntelSetResponse
readList :: ReadS [GetThreatIntelSetResponse]
$creadList :: ReadS [GetThreatIntelSetResponse]
readsPrec :: Int -> ReadS GetThreatIntelSetResponse
$creadsPrec :: Int -> ReadS GetThreatIntelSetResponse
Prelude.Read, Int -> GetThreatIntelSetResponse -> ShowS
[GetThreatIntelSetResponse] -> ShowS
GetThreatIntelSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetThreatIntelSetResponse] -> ShowS
$cshowList :: [GetThreatIntelSetResponse] -> ShowS
show :: GetThreatIntelSetResponse -> String
$cshow :: GetThreatIntelSetResponse -> String
showsPrec :: Int -> GetThreatIntelSetResponse -> ShowS
$cshowsPrec :: Int -> GetThreatIntelSetResponse -> ShowS
Prelude.Show, forall x.
Rep GetThreatIntelSetResponse x -> GetThreatIntelSetResponse
forall x.
GetThreatIntelSetResponse -> Rep GetThreatIntelSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetThreatIntelSetResponse x -> GetThreatIntelSetResponse
$cfrom :: forall x.
GetThreatIntelSetResponse -> Rep GetThreatIntelSetResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetThreatIntelSetResponse' 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:
--
-- 'tags', 'getThreatIntelSetResponse_tags' - The tags of the threat list resource.
--
-- 'httpStatus', 'getThreatIntelSetResponse_httpStatus' - The response's http status code.
--
-- 'name', 'getThreatIntelSetResponse_name' - A user-friendly ThreatIntelSet name displayed in all findings that are
-- generated by activity that involves IP addresses included in this
-- ThreatIntelSet.
--
-- 'format', 'getThreatIntelSetResponse_format' - The format of the threatIntelSet.
--
-- 'location', 'getThreatIntelSetResponse_location' - The URI of the file that contains the ThreatIntelSet.
--
-- 'status', 'getThreatIntelSetResponse_status' - The status of threatIntelSet file uploaded.
newGetThreatIntelSetResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'name'
  Prelude.Text ->
  -- | 'format'
  ThreatIntelSetFormat ->
  -- | 'location'
  Prelude.Text ->
  -- | 'status'
  ThreatIntelSetStatus ->
  GetThreatIntelSetResponse
newGetThreatIntelSetResponse :: Int
-> Text
-> ThreatIntelSetFormat
-> Text
-> ThreatIntelSetStatus
-> GetThreatIntelSetResponse
newGetThreatIntelSetResponse
  Int
pHttpStatus_
  Text
pName_
  ThreatIntelSetFormat
pFormat_
  Text
pLocation_
  ThreatIntelSetStatus
pStatus_ =
    GetThreatIntelSetResponse'
      { $sel:tags:GetThreatIntelSetResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:GetThreatIntelSetResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:name:GetThreatIntelSetResponse' :: Text
name = Text
pName_,
        $sel:format:GetThreatIntelSetResponse' :: ThreatIntelSetFormat
format = ThreatIntelSetFormat
pFormat_,
        $sel:location:GetThreatIntelSetResponse' :: Text
location = Text
pLocation_,
        $sel:status:GetThreatIntelSetResponse' :: ThreatIntelSetStatus
status = ThreatIntelSetStatus
pStatus_
      }

-- | The tags of the threat list resource.
getThreatIntelSetResponse_tags :: Lens.Lens' GetThreatIntelSetResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
getThreatIntelSetResponse_tags :: Lens' GetThreatIntelSetResponse (Maybe (HashMap Text Text))
getThreatIntelSetResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSetResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: GetThreatIntelSetResponse
s@GetThreatIntelSetResponse' {} Maybe (HashMap Text Text)
a -> GetThreatIntelSetResponse
s {$sel:tags:GetThreatIntelSetResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: GetThreatIntelSetResponse) 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 response's http status code.
getThreatIntelSetResponse_httpStatus :: Lens.Lens' GetThreatIntelSetResponse Prelude.Int
getThreatIntelSetResponse_httpStatus :: Lens' GetThreatIntelSetResponse Int
getThreatIntelSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetThreatIntelSetResponse
s@GetThreatIntelSetResponse' {} Int
a -> GetThreatIntelSetResponse
s {$sel:httpStatus:GetThreatIntelSetResponse' :: Int
httpStatus = Int
a} :: GetThreatIntelSetResponse)

-- | A user-friendly ThreatIntelSet name displayed in all findings that are
-- generated by activity that involves IP addresses included in this
-- ThreatIntelSet.
getThreatIntelSetResponse_name :: Lens.Lens' GetThreatIntelSetResponse Prelude.Text
getThreatIntelSetResponse_name :: Lens' GetThreatIntelSetResponse Text
getThreatIntelSetResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSetResponse' {Text
name :: Text
$sel:name:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Text
name} -> Text
name) (\s :: GetThreatIntelSetResponse
s@GetThreatIntelSetResponse' {} Text
a -> GetThreatIntelSetResponse
s {$sel:name:GetThreatIntelSetResponse' :: Text
name = Text
a} :: GetThreatIntelSetResponse)

-- | The format of the threatIntelSet.
getThreatIntelSetResponse_format :: Lens.Lens' GetThreatIntelSetResponse ThreatIntelSetFormat
getThreatIntelSetResponse_format :: Lens' GetThreatIntelSetResponse ThreatIntelSetFormat
getThreatIntelSetResponse_format = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSetResponse' {ThreatIntelSetFormat
format :: ThreatIntelSetFormat
$sel:format:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> ThreatIntelSetFormat
format} -> ThreatIntelSetFormat
format) (\s :: GetThreatIntelSetResponse
s@GetThreatIntelSetResponse' {} ThreatIntelSetFormat
a -> GetThreatIntelSetResponse
s {$sel:format:GetThreatIntelSetResponse' :: ThreatIntelSetFormat
format = ThreatIntelSetFormat
a} :: GetThreatIntelSetResponse)

-- | The URI of the file that contains the ThreatIntelSet.
getThreatIntelSetResponse_location :: Lens.Lens' GetThreatIntelSetResponse Prelude.Text
getThreatIntelSetResponse_location :: Lens' GetThreatIntelSetResponse Text
getThreatIntelSetResponse_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSetResponse' {Text
location :: Text
$sel:location:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Text
location} -> Text
location) (\s :: GetThreatIntelSetResponse
s@GetThreatIntelSetResponse' {} Text
a -> GetThreatIntelSetResponse
s {$sel:location:GetThreatIntelSetResponse' :: Text
location = Text
a} :: GetThreatIntelSetResponse)

-- | The status of threatIntelSet file uploaded.
getThreatIntelSetResponse_status :: Lens.Lens' GetThreatIntelSetResponse ThreatIntelSetStatus
getThreatIntelSetResponse_status :: Lens' GetThreatIntelSetResponse ThreatIntelSetStatus
getThreatIntelSetResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetThreatIntelSetResponse' {ThreatIntelSetStatus
status :: ThreatIntelSetStatus
$sel:status:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> ThreatIntelSetStatus
status} -> ThreatIntelSetStatus
status) (\s :: GetThreatIntelSetResponse
s@GetThreatIntelSetResponse' {} ThreatIntelSetStatus
a -> GetThreatIntelSetResponse
s {$sel:status:GetThreatIntelSetResponse' :: ThreatIntelSetStatus
status = ThreatIntelSetStatus
a} :: GetThreatIntelSetResponse)

instance Prelude.NFData GetThreatIntelSetResponse where
  rnf :: GetThreatIntelSetResponse -> ()
rnf GetThreatIntelSetResponse' {Int
Maybe (HashMap Text Text)
Text
ThreatIntelSetFormat
ThreatIntelSetStatus
status :: ThreatIntelSetStatus
location :: Text
format :: ThreatIntelSetFormat
name :: Text
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
$sel:status:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> ThreatIntelSetStatus
$sel:location:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Text
$sel:format:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> ThreatIntelSetFormat
$sel:name:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Text
$sel:httpStatus:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Int
$sel:tags:GetThreatIntelSetResponse' :: GetThreatIntelSetResponse -> Maybe (HashMap Text Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ThreatIntelSetFormat
format
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
location
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ThreatIntelSetStatus
status