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

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

-- |
-- Module      : Amazonka.GuardDuty.Types.AwsApiCallAction
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.GuardDuty.Types.AwsApiCallAction 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.DomainDetails
import Amazonka.GuardDuty.Types.RemoteAccountDetails
import Amazonka.GuardDuty.Types.RemoteIpDetails
import qualified Amazonka.Prelude as Prelude

-- | Contains information about the API action.
--
-- /See:/ 'newAwsApiCallAction' smart constructor.
data AwsApiCallAction = AwsApiCallAction'
  { -- | The details of the Amazon Web Services account that made the API call.
    -- This field identifies the resources that were affected by this API call.
    AwsApiCallAction -> Maybe (HashMap Text Text)
affectedResources :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The Amazon Web Services API name.
    AwsApiCallAction -> Maybe Text
api :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Web Services API caller type.
    AwsApiCallAction -> Maybe Text
callerType :: Prelude.Maybe Prelude.Text,
    -- | The domain information for the Amazon Web Services API call.
    AwsApiCallAction -> Maybe DomainDetails
domainDetails :: Prelude.Maybe DomainDetails,
    -- | The error code of the failed Amazon Web Services API action.
    AwsApiCallAction -> Maybe Text
errorCode :: Prelude.Maybe Prelude.Text,
    -- | The details of the Amazon Web Services account that made the API call.
    -- This field appears if the call was made from outside your account.
    AwsApiCallAction -> Maybe RemoteAccountDetails
remoteAccountDetails :: Prelude.Maybe RemoteAccountDetails,
    -- | The remote IP information of the connection that initiated the Amazon
    -- Web Services API call.
    AwsApiCallAction -> Maybe RemoteIpDetails
remoteIpDetails :: Prelude.Maybe RemoteIpDetails,
    -- | The Amazon Web Services service name whose API was invoked.
    AwsApiCallAction -> Maybe Text
serviceName :: Prelude.Maybe Prelude.Text,
    -- | The agent through which the API request was made.
    AwsApiCallAction -> Maybe Text
userAgent :: Prelude.Maybe Prelude.Text
  }
  deriving (AwsApiCallAction -> AwsApiCallAction -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AwsApiCallAction -> AwsApiCallAction -> Bool
$c/= :: AwsApiCallAction -> AwsApiCallAction -> Bool
== :: AwsApiCallAction -> AwsApiCallAction -> Bool
$c== :: AwsApiCallAction -> AwsApiCallAction -> Bool
Prelude.Eq, ReadPrec [AwsApiCallAction]
ReadPrec AwsApiCallAction
Int -> ReadS AwsApiCallAction
ReadS [AwsApiCallAction]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AwsApiCallAction]
$creadListPrec :: ReadPrec [AwsApiCallAction]
readPrec :: ReadPrec AwsApiCallAction
$creadPrec :: ReadPrec AwsApiCallAction
readList :: ReadS [AwsApiCallAction]
$creadList :: ReadS [AwsApiCallAction]
readsPrec :: Int -> ReadS AwsApiCallAction
$creadsPrec :: Int -> ReadS AwsApiCallAction
Prelude.Read, Int -> AwsApiCallAction -> ShowS
[AwsApiCallAction] -> ShowS
AwsApiCallAction -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AwsApiCallAction] -> ShowS
$cshowList :: [AwsApiCallAction] -> ShowS
show :: AwsApiCallAction -> String
$cshow :: AwsApiCallAction -> String
showsPrec :: Int -> AwsApiCallAction -> ShowS
$cshowsPrec :: Int -> AwsApiCallAction -> ShowS
Prelude.Show, forall x. Rep AwsApiCallAction x -> AwsApiCallAction
forall x. AwsApiCallAction -> Rep AwsApiCallAction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AwsApiCallAction x -> AwsApiCallAction
$cfrom :: forall x. AwsApiCallAction -> Rep AwsApiCallAction x
Prelude.Generic)

-- |
-- Create a value of 'AwsApiCallAction' 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:
--
-- 'affectedResources', 'awsApiCallAction_affectedResources' - The details of the Amazon Web Services account that made the API call.
-- This field identifies the resources that were affected by this API call.
--
-- 'api', 'awsApiCallAction_api' - The Amazon Web Services API name.
--
-- 'callerType', 'awsApiCallAction_callerType' - The Amazon Web Services API caller type.
--
-- 'domainDetails', 'awsApiCallAction_domainDetails' - The domain information for the Amazon Web Services API call.
--
-- 'errorCode', 'awsApiCallAction_errorCode' - The error code of the failed Amazon Web Services API action.
--
-- 'remoteAccountDetails', 'awsApiCallAction_remoteAccountDetails' - The details of the Amazon Web Services account that made the API call.
-- This field appears if the call was made from outside your account.
--
-- 'remoteIpDetails', 'awsApiCallAction_remoteIpDetails' - The remote IP information of the connection that initiated the Amazon
-- Web Services API call.
--
-- 'serviceName', 'awsApiCallAction_serviceName' - The Amazon Web Services service name whose API was invoked.
--
-- 'userAgent', 'awsApiCallAction_userAgent' - The agent through which the API request was made.
newAwsApiCallAction ::
  AwsApiCallAction
newAwsApiCallAction :: AwsApiCallAction
newAwsApiCallAction =
  AwsApiCallAction'
    { $sel:affectedResources:AwsApiCallAction' :: Maybe (HashMap Text Text)
affectedResources =
        forall a. Maybe a
Prelude.Nothing,
      $sel:api:AwsApiCallAction' :: Maybe Text
api = forall a. Maybe a
Prelude.Nothing,
      $sel:callerType:AwsApiCallAction' :: Maybe Text
callerType = forall a. Maybe a
Prelude.Nothing,
      $sel:domainDetails:AwsApiCallAction' :: Maybe DomainDetails
domainDetails = forall a. Maybe a
Prelude.Nothing,
      $sel:errorCode:AwsApiCallAction' :: Maybe Text
errorCode = forall a. Maybe a
Prelude.Nothing,
      $sel:remoteAccountDetails:AwsApiCallAction' :: Maybe RemoteAccountDetails
remoteAccountDetails = forall a. Maybe a
Prelude.Nothing,
      $sel:remoteIpDetails:AwsApiCallAction' :: Maybe RemoteIpDetails
remoteIpDetails = forall a. Maybe a
Prelude.Nothing,
      $sel:serviceName:AwsApiCallAction' :: Maybe Text
serviceName = forall a. Maybe a
Prelude.Nothing,
      $sel:userAgent:AwsApiCallAction' :: Maybe Text
userAgent = forall a. Maybe a
Prelude.Nothing
    }

-- | The details of the Amazon Web Services account that made the API call.
-- This field identifies the resources that were affected by this API call.
awsApiCallAction_affectedResources :: Lens.Lens' AwsApiCallAction (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
awsApiCallAction_affectedResources :: Lens' AwsApiCallAction (Maybe (HashMap Text Text))
awsApiCallAction_affectedResources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe (HashMap Text Text)
affectedResources :: Maybe (HashMap Text Text)
$sel:affectedResources:AwsApiCallAction' :: AwsApiCallAction -> Maybe (HashMap Text Text)
affectedResources} -> Maybe (HashMap Text Text)
affectedResources) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe (HashMap Text Text)
a -> AwsApiCallAction
s {$sel:affectedResources:AwsApiCallAction' :: Maybe (HashMap Text Text)
affectedResources = Maybe (HashMap Text Text)
a} :: AwsApiCallAction) 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 Amazon Web Services API name.
awsApiCallAction_api :: Lens.Lens' AwsApiCallAction (Prelude.Maybe Prelude.Text)
awsApiCallAction_api :: Lens' AwsApiCallAction (Maybe Text)
awsApiCallAction_api = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe Text
api :: Maybe Text
$sel:api:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
api} -> Maybe Text
api) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe Text
a -> AwsApiCallAction
s {$sel:api:AwsApiCallAction' :: Maybe Text
api = Maybe Text
a} :: AwsApiCallAction)

-- | The Amazon Web Services API caller type.
awsApiCallAction_callerType :: Lens.Lens' AwsApiCallAction (Prelude.Maybe Prelude.Text)
awsApiCallAction_callerType :: Lens' AwsApiCallAction (Maybe Text)
awsApiCallAction_callerType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe Text
callerType :: Maybe Text
$sel:callerType:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
callerType} -> Maybe Text
callerType) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe Text
a -> AwsApiCallAction
s {$sel:callerType:AwsApiCallAction' :: Maybe Text
callerType = Maybe Text
a} :: AwsApiCallAction)

-- | The domain information for the Amazon Web Services API call.
awsApiCallAction_domainDetails :: Lens.Lens' AwsApiCallAction (Prelude.Maybe DomainDetails)
awsApiCallAction_domainDetails :: Lens' AwsApiCallAction (Maybe DomainDetails)
awsApiCallAction_domainDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe DomainDetails
domainDetails :: Maybe DomainDetails
$sel:domainDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe DomainDetails
domainDetails} -> Maybe DomainDetails
domainDetails) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe DomainDetails
a -> AwsApiCallAction
s {$sel:domainDetails:AwsApiCallAction' :: Maybe DomainDetails
domainDetails = Maybe DomainDetails
a} :: AwsApiCallAction)

-- | The error code of the failed Amazon Web Services API action.
awsApiCallAction_errorCode :: Lens.Lens' AwsApiCallAction (Prelude.Maybe Prelude.Text)
awsApiCallAction_errorCode :: Lens' AwsApiCallAction (Maybe Text)
awsApiCallAction_errorCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe Text
errorCode :: Maybe Text
$sel:errorCode:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
errorCode} -> Maybe Text
errorCode) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe Text
a -> AwsApiCallAction
s {$sel:errorCode:AwsApiCallAction' :: Maybe Text
errorCode = Maybe Text
a} :: AwsApiCallAction)

-- | The details of the Amazon Web Services account that made the API call.
-- This field appears if the call was made from outside your account.
awsApiCallAction_remoteAccountDetails :: Lens.Lens' AwsApiCallAction (Prelude.Maybe RemoteAccountDetails)
awsApiCallAction_remoteAccountDetails :: Lens' AwsApiCallAction (Maybe RemoteAccountDetails)
awsApiCallAction_remoteAccountDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe RemoteAccountDetails
remoteAccountDetails :: Maybe RemoteAccountDetails
$sel:remoteAccountDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe RemoteAccountDetails
remoteAccountDetails} -> Maybe RemoteAccountDetails
remoteAccountDetails) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe RemoteAccountDetails
a -> AwsApiCallAction
s {$sel:remoteAccountDetails:AwsApiCallAction' :: Maybe RemoteAccountDetails
remoteAccountDetails = Maybe RemoteAccountDetails
a} :: AwsApiCallAction)

-- | The remote IP information of the connection that initiated the Amazon
-- Web Services API call.
awsApiCallAction_remoteIpDetails :: Lens.Lens' AwsApiCallAction (Prelude.Maybe RemoteIpDetails)
awsApiCallAction_remoteIpDetails :: Lens' AwsApiCallAction (Maybe RemoteIpDetails)
awsApiCallAction_remoteIpDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe RemoteIpDetails
remoteIpDetails :: Maybe RemoteIpDetails
$sel:remoteIpDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe RemoteIpDetails
remoteIpDetails} -> Maybe RemoteIpDetails
remoteIpDetails) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe RemoteIpDetails
a -> AwsApiCallAction
s {$sel:remoteIpDetails:AwsApiCallAction' :: Maybe RemoteIpDetails
remoteIpDetails = Maybe RemoteIpDetails
a} :: AwsApiCallAction)

-- | The Amazon Web Services service name whose API was invoked.
awsApiCallAction_serviceName :: Lens.Lens' AwsApiCallAction (Prelude.Maybe Prelude.Text)
awsApiCallAction_serviceName :: Lens' AwsApiCallAction (Maybe Text)
awsApiCallAction_serviceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe Text
serviceName :: Maybe Text
$sel:serviceName:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
serviceName} -> Maybe Text
serviceName) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe Text
a -> AwsApiCallAction
s {$sel:serviceName:AwsApiCallAction' :: Maybe Text
serviceName = Maybe Text
a} :: AwsApiCallAction)

-- | The agent through which the API request was made.
awsApiCallAction_userAgent :: Lens.Lens' AwsApiCallAction (Prelude.Maybe Prelude.Text)
awsApiCallAction_userAgent :: Lens' AwsApiCallAction (Maybe Text)
awsApiCallAction_userAgent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsApiCallAction' {Maybe Text
userAgent :: Maybe Text
$sel:userAgent:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
userAgent} -> Maybe Text
userAgent) (\s :: AwsApiCallAction
s@AwsApiCallAction' {} Maybe Text
a -> AwsApiCallAction
s {$sel:userAgent:AwsApiCallAction' :: Maybe Text
userAgent = Maybe Text
a} :: AwsApiCallAction)

instance Data.FromJSON AwsApiCallAction where
  parseJSON :: Value -> Parser AwsApiCallAction
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"AwsApiCallAction"
      ( \Object
x ->
          Maybe (HashMap Text Text)
-> Maybe Text
-> Maybe Text
-> Maybe DomainDetails
-> Maybe Text
-> Maybe RemoteAccountDetails
-> Maybe RemoteIpDetails
-> Maybe Text
-> Maybe Text
-> AwsApiCallAction
AwsApiCallAction'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"affectedResources"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"api")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"callerType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"domainDetails")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"errorCode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"remoteAccountDetails")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"remoteIpDetails")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"serviceName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"userAgent")
      )

instance Prelude.Hashable AwsApiCallAction where
  hashWithSalt :: Int -> AwsApiCallAction -> Int
hashWithSalt Int
_salt AwsApiCallAction' {Maybe Text
Maybe (HashMap Text Text)
Maybe DomainDetails
Maybe RemoteAccountDetails
Maybe RemoteIpDetails
userAgent :: Maybe Text
serviceName :: Maybe Text
remoteIpDetails :: Maybe RemoteIpDetails
remoteAccountDetails :: Maybe RemoteAccountDetails
errorCode :: Maybe Text
domainDetails :: Maybe DomainDetails
callerType :: Maybe Text
api :: Maybe Text
affectedResources :: Maybe (HashMap Text Text)
$sel:userAgent:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:serviceName:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:remoteIpDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe RemoteIpDetails
$sel:remoteAccountDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe RemoteAccountDetails
$sel:errorCode:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:domainDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe DomainDetails
$sel:callerType:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:api:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:affectedResources:AwsApiCallAction' :: AwsApiCallAction -> Maybe (HashMap Text Text)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
affectedResources
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
api
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
callerType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DomainDetails
domainDetails
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
errorCode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RemoteAccountDetails
remoteAccountDetails
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RemoteIpDetails
remoteIpDetails
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serviceName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
userAgent

instance Prelude.NFData AwsApiCallAction where
  rnf :: AwsApiCallAction -> ()
rnf AwsApiCallAction' {Maybe Text
Maybe (HashMap Text Text)
Maybe DomainDetails
Maybe RemoteAccountDetails
Maybe RemoteIpDetails
userAgent :: Maybe Text
serviceName :: Maybe Text
remoteIpDetails :: Maybe RemoteIpDetails
remoteAccountDetails :: Maybe RemoteAccountDetails
errorCode :: Maybe Text
domainDetails :: Maybe DomainDetails
callerType :: Maybe Text
api :: Maybe Text
affectedResources :: Maybe (HashMap Text Text)
$sel:userAgent:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:serviceName:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:remoteIpDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe RemoteIpDetails
$sel:remoteAccountDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe RemoteAccountDetails
$sel:errorCode:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:domainDetails:AwsApiCallAction' :: AwsApiCallAction -> Maybe DomainDetails
$sel:callerType:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:api:AwsApiCallAction' :: AwsApiCallAction -> Maybe Text
$sel:affectedResources:AwsApiCallAction' :: AwsApiCallAction -> Maybe (HashMap Text Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
affectedResources
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
api
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
callerType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DomainDetails
domainDetails
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
errorCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RemoteAccountDetails
remoteAccountDetails
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RemoteIpDetails
remoteIpDetails
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serviceName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userAgent