{-# 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.Kendra.DisassociatePersonasFromEntities
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Removes the specific permissions of users or groups in your IAM Identity
-- Center identity source with access to your Amazon Kendra experience. You
-- can create an Amazon Kendra experience such as a search application. For
-- more information on creating a search application experience, see
-- <https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html Building a search experience with no code>.
module Amazonka.Kendra.DisassociatePersonasFromEntities
  ( -- * Creating a Request
    DisassociatePersonasFromEntities (..),
    newDisassociatePersonasFromEntities,

    -- * Request Lenses
    disassociatePersonasFromEntities_id,
    disassociatePersonasFromEntities_indexId,
    disassociatePersonasFromEntities_entityIds,

    -- * Destructuring the Response
    DisassociatePersonasFromEntitiesResponse (..),
    newDisassociatePersonasFromEntitiesResponse,

    -- * Response Lenses
    disassociatePersonasFromEntitiesResponse_failedEntityList,
    disassociatePersonasFromEntitiesResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDisassociatePersonasFromEntities' smart constructor.
data DisassociatePersonasFromEntities = DisassociatePersonasFromEntities'
  { -- | The identifier of your Amazon Kendra experience.
    DisassociatePersonasFromEntities -> Text
id :: Prelude.Text,
    -- | The identifier of the index for your Amazon Kendra experience.
    DisassociatePersonasFromEntities -> Text
indexId :: Prelude.Text,
    -- | The identifiers of users or groups in your IAM Identity Center identity
    -- source. For example, user IDs could be user emails.
    DisassociatePersonasFromEntities -> NonEmpty Text
entityIds :: Prelude.NonEmpty Prelude.Text
  }
  deriving (DisassociatePersonasFromEntities
-> DisassociatePersonasFromEntities -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociatePersonasFromEntities
-> DisassociatePersonasFromEntities -> Bool
$c/= :: DisassociatePersonasFromEntities
-> DisassociatePersonasFromEntities -> Bool
== :: DisassociatePersonasFromEntities
-> DisassociatePersonasFromEntities -> Bool
$c== :: DisassociatePersonasFromEntities
-> DisassociatePersonasFromEntities -> Bool
Prelude.Eq, ReadPrec [DisassociatePersonasFromEntities]
ReadPrec DisassociatePersonasFromEntities
Int -> ReadS DisassociatePersonasFromEntities
ReadS [DisassociatePersonasFromEntities]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociatePersonasFromEntities]
$creadListPrec :: ReadPrec [DisassociatePersonasFromEntities]
readPrec :: ReadPrec DisassociatePersonasFromEntities
$creadPrec :: ReadPrec DisassociatePersonasFromEntities
readList :: ReadS [DisassociatePersonasFromEntities]
$creadList :: ReadS [DisassociatePersonasFromEntities]
readsPrec :: Int -> ReadS DisassociatePersonasFromEntities
$creadsPrec :: Int -> ReadS DisassociatePersonasFromEntities
Prelude.Read, Int -> DisassociatePersonasFromEntities -> ShowS
[DisassociatePersonasFromEntities] -> ShowS
DisassociatePersonasFromEntities -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociatePersonasFromEntities] -> ShowS
$cshowList :: [DisassociatePersonasFromEntities] -> ShowS
show :: DisassociatePersonasFromEntities -> String
$cshow :: DisassociatePersonasFromEntities -> String
showsPrec :: Int -> DisassociatePersonasFromEntities -> ShowS
$cshowsPrec :: Int -> DisassociatePersonasFromEntities -> ShowS
Prelude.Show, forall x.
Rep DisassociatePersonasFromEntities x
-> DisassociatePersonasFromEntities
forall x.
DisassociatePersonasFromEntities
-> Rep DisassociatePersonasFromEntities x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociatePersonasFromEntities x
-> DisassociatePersonasFromEntities
$cfrom :: forall x.
DisassociatePersonasFromEntities
-> Rep DisassociatePersonasFromEntities x
Prelude.Generic)

-- |
-- Create a value of 'DisassociatePersonasFromEntities' 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:
--
-- 'id', 'disassociatePersonasFromEntities_id' - The identifier of your Amazon Kendra experience.
--
-- 'indexId', 'disassociatePersonasFromEntities_indexId' - The identifier of the index for your Amazon Kendra experience.
--
-- 'entityIds', 'disassociatePersonasFromEntities_entityIds' - The identifiers of users or groups in your IAM Identity Center identity
-- source. For example, user IDs could be user emails.
newDisassociatePersonasFromEntities ::
  -- | 'id'
  Prelude.Text ->
  -- | 'indexId'
  Prelude.Text ->
  -- | 'entityIds'
  Prelude.NonEmpty Prelude.Text ->
  DisassociatePersonasFromEntities
newDisassociatePersonasFromEntities :: Text -> Text -> NonEmpty Text -> DisassociatePersonasFromEntities
newDisassociatePersonasFromEntities
  Text
pId_
  Text
pIndexId_
  NonEmpty Text
pEntityIds_ =
    DisassociatePersonasFromEntities'
      { $sel:id:DisassociatePersonasFromEntities' :: Text
id = Text
pId_,
        $sel:indexId:DisassociatePersonasFromEntities' :: Text
indexId = Text
pIndexId_,
        $sel:entityIds:DisassociatePersonasFromEntities' :: NonEmpty Text
entityIds =
          forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty Text
pEntityIds_
      }

-- | The identifier of your Amazon Kendra experience.
disassociatePersonasFromEntities_id :: Lens.Lens' DisassociatePersonasFromEntities Prelude.Text
disassociatePersonasFromEntities_id :: Lens' DisassociatePersonasFromEntities Text
disassociatePersonasFromEntities_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePersonasFromEntities' {Text
id :: Text
$sel:id:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
id} -> Text
id) (\s :: DisassociatePersonasFromEntities
s@DisassociatePersonasFromEntities' {} Text
a -> DisassociatePersonasFromEntities
s {$sel:id:DisassociatePersonasFromEntities' :: Text
id = Text
a} :: DisassociatePersonasFromEntities)

-- | The identifier of the index for your Amazon Kendra experience.
disassociatePersonasFromEntities_indexId :: Lens.Lens' DisassociatePersonasFromEntities Prelude.Text
disassociatePersonasFromEntities_indexId :: Lens' DisassociatePersonasFromEntities Text
disassociatePersonasFromEntities_indexId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePersonasFromEntities' {Text
indexId :: Text
$sel:indexId:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
indexId} -> Text
indexId) (\s :: DisassociatePersonasFromEntities
s@DisassociatePersonasFromEntities' {} Text
a -> DisassociatePersonasFromEntities
s {$sel:indexId:DisassociatePersonasFromEntities' :: Text
indexId = Text
a} :: DisassociatePersonasFromEntities)

-- | The identifiers of users or groups in your IAM Identity Center identity
-- source. For example, user IDs could be user emails.
disassociatePersonasFromEntities_entityIds :: Lens.Lens' DisassociatePersonasFromEntities (Prelude.NonEmpty Prelude.Text)
disassociatePersonasFromEntities_entityIds :: Lens' DisassociatePersonasFromEntities (NonEmpty Text)
disassociatePersonasFromEntities_entityIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePersonasFromEntities' {NonEmpty Text
entityIds :: NonEmpty Text
$sel:entityIds:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> NonEmpty Text
entityIds} -> NonEmpty Text
entityIds) (\s :: DisassociatePersonasFromEntities
s@DisassociatePersonasFromEntities' {} NonEmpty Text
a -> DisassociatePersonasFromEntities
s {$sel:entityIds:DisassociatePersonasFromEntities' :: NonEmpty Text
entityIds = NonEmpty Text
a} :: DisassociatePersonasFromEntities) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance
  Core.AWSRequest
    DisassociatePersonasFromEntities
  where
  type
    AWSResponse DisassociatePersonasFromEntities =
      DisassociatePersonasFromEntitiesResponse
  request :: (Service -> Service)
-> DisassociatePersonasFromEntities
-> Request DisassociatePersonasFromEntities
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 DisassociatePersonasFromEntities
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DisassociatePersonasFromEntities)))
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 (NonEmpty FailedEntity)
-> Int -> DisassociatePersonasFromEntitiesResponse
DisassociatePersonasFromEntitiesResponse'
            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
"FailedEntityList")
            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
    DisassociatePersonasFromEntities
  where
  hashWithSalt :: Int -> DisassociatePersonasFromEntities -> Int
hashWithSalt
    Int
_salt
    DisassociatePersonasFromEntities' {NonEmpty Text
Text
entityIds :: NonEmpty Text
indexId :: Text
id :: Text
$sel:entityIds:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> NonEmpty Text
$sel:indexId:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
$sel:id:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
indexId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty Text
entityIds

instance
  Prelude.NFData
    DisassociatePersonasFromEntities
  where
  rnf :: DisassociatePersonasFromEntities -> ()
rnf DisassociatePersonasFromEntities' {NonEmpty Text
Text
entityIds :: NonEmpty Text
indexId :: Text
id :: Text
$sel:entityIds:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> NonEmpty Text
$sel:indexId:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
$sel:id:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
indexId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty Text
entityIds

instance
  Data.ToHeaders
    DisassociatePersonasFromEntities
  where
  toHeaders :: DisassociatePersonasFromEntities -> 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
"AWSKendraFrontendService.DisassociatePersonasFromEntities" ::
                          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 DisassociatePersonasFromEntities where
  toJSON :: DisassociatePersonasFromEntities -> Value
toJSON DisassociatePersonasFromEntities' {NonEmpty Text
Text
entityIds :: NonEmpty Text
indexId :: Text
id :: Text
$sel:entityIds:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> NonEmpty Text
$sel:indexId:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
$sel:id:DisassociatePersonasFromEntities' :: DisassociatePersonasFromEntities -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just (Key
"Id" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
id),
            forall a. a -> Maybe a
Prelude.Just (Key
"IndexId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
indexId),
            forall a. a -> Maybe a
Prelude.Just (Key
"EntityIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty Text
entityIds)
          ]
      )

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

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

-- | /See:/ 'newDisassociatePersonasFromEntitiesResponse' smart constructor.
data DisassociatePersonasFromEntitiesResponse = DisassociatePersonasFromEntitiesResponse'
  { -- | Lists the users or groups in your IAM Identity Center identity source
    -- that failed to properly remove access to your Amazon Kendra experience.
    DisassociatePersonasFromEntitiesResponse
-> Maybe (NonEmpty FailedEntity)
failedEntityList :: Prelude.Maybe (Prelude.NonEmpty FailedEntity),
    -- | The response's http status code.
    DisassociatePersonasFromEntitiesResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DisassociatePersonasFromEntitiesResponse
-> DisassociatePersonasFromEntitiesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociatePersonasFromEntitiesResponse
-> DisassociatePersonasFromEntitiesResponse -> Bool
$c/= :: DisassociatePersonasFromEntitiesResponse
-> DisassociatePersonasFromEntitiesResponse -> Bool
== :: DisassociatePersonasFromEntitiesResponse
-> DisassociatePersonasFromEntitiesResponse -> Bool
$c== :: DisassociatePersonasFromEntitiesResponse
-> DisassociatePersonasFromEntitiesResponse -> Bool
Prelude.Eq, ReadPrec [DisassociatePersonasFromEntitiesResponse]
ReadPrec DisassociatePersonasFromEntitiesResponse
Int -> ReadS DisassociatePersonasFromEntitiesResponse
ReadS [DisassociatePersonasFromEntitiesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociatePersonasFromEntitiesResponse]
$creadListPrec :: ReadPrec [DisassociatePersonasFromEntitiesResponse]
readPrec :: ReadPrec DisassociatePersonasFromEntitiesResponse
$creadPrec :: ReadPrec DisassociatePersonasFromEntitiesResponse
readList :: ReadS [DisassociatePersonasFromEntitiesResponse]
$creadList :: ReadS [DisassociatePersonasFromEntitiesResponse]
readsPrec :: Int -> ReadS DisassociatePersonasFromEntitiesResponse
$creadsPrec :: Int -> ReadS DisassociatePersonasFromEntitiesResponse
Prelude.Read, Int -> DisassociatePersonasFromEntitiesResponse -> ShowS
[DisassociatePersonasFromEntitiesResponse] -> ShowS
DisassociatePersonasFromEntitiesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociatePersonasFromEntitiesResponse] -> ShowS
$cshowList :: [DisassociatePersonasFromEntitiesResponse] -> ShowS
show :: DisassociatePersonasFromEntitiesResponse -> String
$cshow :: DisassociatePersonasFromEntitiesResponse -> String
showsPrec :: Int -> DisassociatePersonasFromEntitiesResponse -> ShowS
$cshowsPrec :: Int -> DisassociatePersonasFromEntitiesResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociatePersonasFromEntitiesResponse x
-> DisassociatePersonasFromEntitiesResponse
forall x.
DisassociatePersonasFromEntitiesResponse
-> Rep DisassociatePersonasFromEntitiesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociatePersonasFromEntitiesResponse x
-> DisassociatePersonasFromEntitiesResponse
$cfrom :: forall x.
DisassociatePersonasFromEntitiesResponse
-> Rep DisassociatePersonasFromEntitiesResponse x
Prelude.Generic)

-- |
-- Create a value of 'DisassociatePersonasFromEntitiesResponse' 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:
--
-- 'failedEntityList', 'disassociatePersonasFromEntitiesResponse_failedEntityList' - Lists the users or groups in your IAM Identity Center identity source
-- that failed to properly remove access to your Amazon Kendra experience.
--
-- 'httpStatus', 'disassociatePersonasFromEntitiesResponse_httpStatus' - The response's http status code.
newDisassociatePersonasFromEntitiesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DisassociatePersonasFromEntitiesResponse
newDisassociatePersonasFromEntitiesResponse :: Int -> DisassociatePersonasFromEntitiesResponse
newDisassociatePersonasFromEntitiesResponse
  Int
pHttpStatus_ =
    DisassociatePersonasFromEntitiesResponse'
      { $sel:failedEntityList:DisassociatePersonasFromEntitiesResponse' :: Maybe (NonEmpty FailedEntity)
failedEntityList =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DisassociatePersonasFromEntitiesResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Lists the users or groups in your IAM Identity Center identity source
-- that failed to properly remove access to your Amazon Kendra experience.
disassociatePersonasFromEntitiesResponse_failedEntityList :: Lens.Lens' DisassociatePersonasFromEntitiesResponse (Prelude.Maybe (Prelude.NonEmpty FailedEntity))
disassociatePersonasFromEntitiesResponse_failedEntityList :: Lens'
  DisassociatePersonasFromEntitiesResponse
  (Maybe (NonEmpty FailedEntity))
disassociatePersonasFromEntitiesResponse_failedEntityList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePersonasFromEntitiesResponse' {Maybe (NonEmpty FailedEntity)
failedEntityList :: Maybe (NonEmpty FailedEntity)
$sel:failedEntityList:DisassociatePersonasFromEntitiesResponse' :: DisassociatePersonasFromEntitiesResponse
-> Maybe (NonEmpty FailedEntity)
failedEntityList} -> Maybe (NonEmpty FailedEntity)
failedEntityList) (\s :: DisassociatePersonasFromEntitiesResponse
s@DisassociatePersonasFromEntitiesResponse' {} Maybe (NonEmpty FailedEntity)
a -> DisassociatePersonasFromEntitiesResponse
s {$sel:failedEntityList:DisassociatePersonasFromEntitiesResponse' :: Maybe (NonEmpty FailedEntity)
failedEntityList = Maybe (NonEmpty FailedEntity)
a} :: DisassociatePersonasFromEntitiesResponse) 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.
disassociatePersonasFromEntitiesResponse_httpStatus :: Lens.Lens' DisassociatePersonasFromEntitiesResponse Prelude.Int
disassociatePersonasFromEntitiesResponse_httpStatus :: Lens' DisassociatePersonasFromEntitiesResponse Int
disassociatePersonasFromEntitiesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociatePersonasFromEntitiesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociatePersonasFromEntitiesResponse' :: DisassociatePersonasFromEntitiesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociatePersonasFromEntitiesResponse
s@DisassociatePersonasFromEntitiesResponse' {} Int
a -> DisassociatePersonasFromEntitiesResponse
s {$sel:httpStatus:DisassociatePersonasFromEntitiesResponse' :: Int
httpStatus = Int
a} :: DisassociatePersonasFromEntitiesResponse)

instance
  Prelude.NFData
    DisassociatePersonasFromEntitiesResponse
  where
  rnf :: DisassociatePersonasFromEntitiesResponse -> ()
rnf DisassociatePersonasFromEntitiesResponse' {Int
Maybe (NonEmpty FailedEntity)
httpStatus :: Int
failedEntityList :: Maybe (NonEmpty FailedEntity)
$sel:httpStatus:DisassociatePersonasFromEntitiesResponse' :: DisassociatePersonasFromEntitiesResponse -> Int
$sel:failedEntityList:DisassociatePersonasFromEntitiesResponse' :: DisassociatePersonasFromEntitiesResponse
-> Maybe (NonEmpty FailedEntity)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty FailedEntity)
failedEntityList
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus