{-# 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.CloudWatchEvents.ListPartnerEventSourceAccounts
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- An SaaS partner can use this operation to display the Amazon Web
-- Services account ID that a particular partner event source name is
-- associated with. This operation is not used by Amazon Web Services
-- customers.
module Amazonka.CloudWatchEvents.ListPartnerEventSourceAccounts
  ( -- * Creating a Request
    ListPartnerEventSourceAccounts (..),
    newListPartnerEventSourceAccounts,

    -- * Request Lenses
    listPartnerEventSourceAccounts_limit,
    listPartnerEventSourceAccounts_nextToken,
    listPartnerEventSourceAccounts_eventSourceName,

    -- * Destructuring the Response
    ListPartnerEventSourceAccountsResponse (..),
    newListPartnerEventSourceAccountsResponse,

    -- * Response Lenses
    listPartnerEventSourceAccountsResponse_nextToken,
    listPartnerEventSourceAccountsResponse_partnerEventSourceAccounts,
    listPartnerEventSourceAccountsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListPartnerEventSourceAccounts' smart constructor.
data ListPartnerEventSourceAccounts = ListPartnerEventSourceAccounts'
  { -- | Specifying this limits the number of results returned by this operation.
    -- The operation also returns a NextToken which you can use in a subsequent
    -- operation to retrieve the next set of results.
    ListPartnerEventSourceAccounts -> Maybe Natural
limit :: Prelude.Maybe Prelude.Natural,
    -- | The token returned by a previous call to this operation. Specifying this
    -- retrieves the next set of results.
    ListPartnerEventSourceAccounts -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The name of the partner event source to display account information
    -- about.
    ListPartnerEventSourceAccounts -> Text
eventSourceName :: Prelude.Text
  }
  deriving (ListPartnerEventSourceAccounts
-> ListPartnerEventSourceAccounts -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPartnerEventSourceAccounts
-> ListPartnerEventSourceAccounts -> Bool
$c/= :: ListPartnerEventSourceAccounts
-> ListPartnerEventSourceAccounts -> Bool
== :: ListPartnerEventSourceAccounts
-> ListPartnerEventSourceAccounts -> Bool
$c== :: ListPartnerEventSourceAccounts
-> ListPartnerEventSourceAccounts -> Bool
Prelude.Eq, ReadPrec [ListPartnerEventSourceAccounts]
ReadPrec ListPartnerEventSourceAccounts
Int -> ReadS ListPartnerEventSourceAccounts
ReadS [ListPartnerEventSourceAccounts]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListPartnerEventSourceAccounts]
$creadListPrec :: ReadPrec [ListPartnerEventSourceAccounts]
readPrec :: ReadPrec ListPartnerEventSourceAccounts
$creadPrec :: ReadPrec ListPartnerEventSourceAccounts
readList :: ReadS [ListPartnerEventSourceAccounts]
$creadList :: ReadS [ListPartnerEventSourceAccounts]
readsPrec :: Int -> ReadS ListPartnerEventSourceAccounts
$creadsPrec :: Int -> ReadS ListPartnerEventSourceAccounts
Prelude.Read, Int -> ListPartnerEventSourceAccounts -> ShowS
[ListPartnerEventSourceAccounts] -> ShowS
ListPartnerEventSourceAccounts -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPartnerEventSourceAccounts] -> ShowS
$cshowList :: [ListPartnerEventSourceAccounts] -> ShowS
show :: ListPartnerEventSourceAccounts -> String
$cshow :: ListPartnerEventSourceAccounts -> String
showsPrec :: Int -> ListPartnerEventSourceAccounts -> ShowS
$cshowsPrec :: Int -> ListPartnerEventSourceAccounts -> ShowS
Prelude.Show, forall x.
Rep ListPartnerEventSourceAccounts x
-> ListPartnerEventSourceAccounts
forall x.
ListPartnerEventSourceAccounts
-> Rep ListPartnerEventSourceAccounts x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListPartnerEventSourceAccounts x
-> ListPartnerEventSourceAccounts
$cfrom :: forall x.
ListPartnerEventSourceAccounts
-> Rep ListPartnerEventSourceAccounts x
Prelude.Generic)

-- |
-- Create a value of 'ListPartnerEventSourceAccounts' 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:
--
-- 'limit', 'listPartnerEventSourceAccounts_limit' - Specifying this limits the number of results returned by this operation.
-- The operation also returns a NextToken which you can use in a subsequent
-- operation to retrieve the next set of results.
--
-- 'nextToken', 'listPartnerEventSourceAccounts_nextToken' - The token returned by a previous call to this operation. Specifying this
-- retrieves the next set of results.
--
-- 'eventSourceName', 'listPartnerEventSourceAccounts_eventSourceName' - The name of the partner event source to display account information
-- about.
newListPartnerEventSourceAccounts ::
  -- | 'eventSourceName'
  Prelude.Text ->
  ListPartnerEventSourceAccounts
newListPartnerEventSourceAccounts :: Text -> ListPartnerEventSourceAccounts
newListPartnerEventSourceAccounts Text
pEventSourceName_ =
  ListPartnerEventSourceAccounts'
    { $sel:limit:ListPartnerEventSourceAccounts' :: Maybe Natural
limit =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListPartnerEventSourceAccounts' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:eventSourceName:ListPartnerEventSourceAccounts' :: Text
eventSourceName = Text
pEventSourceName_
    }

-- | Specifying this limits the number of results returned by this operation.
-- The operation also returns a NextToken which you can use in a subsequent
-- operation to retrieve the next set of results.
listPartnerEventSourceAccounts_limit :: Lens.Lens' ListPartnerEventSourceAccounts (Prelude.Maybe Prelude.Natural)
listPartnerEventSourceAccounts_limit :: Lens' ListPartnerEventSourceAccounts (Maybe Natural)
listPartnerEventSourceAccounts_limit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPartnerEventSourceAccounts' {Maybe Natural
limit :: Maybe Natural
$sel:limit:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Natural
limit} -> Maybe Natural
limit) (\s :: ListPartnerEventSourceAccounts
s@ListPartnerEventSourceAccounts' {} Maybe Natural
a -> ListPartnerEventSourceAccounts
s {$sel:limit:ListPartnerEventSourceAccounts' :: Maybe Natural
limit = Maybe Natural
a} :: ListPartnerEventSourceAccounts)

-- | The token returned by a previous call to this operation. Specifying this
-- retrieves the next set of results.
listPartnerEventSourceAccounts_nextToken :: Lens.Lens' ListPartnerEventSourceAccounts (Prelude.Maybe Prelude.Text)
listPartnerEventSourceAccounts_nextToken :: Lens' ListPartnerEventSourceAccounts (Maybe Text)
listPartnerEventSourceAccounts_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPartnerEventSourceAccounts' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListPartnerEventSourceAccounts
s@ListPartnerEventSourceAccounts' {} Maybe Text
a -> ListPartnerEventSourceAccounts
s {$sel:nextToken:ListPartnerEventSourceAccounts' :: Maybe Text
nextToken = Maybe Text
a} :: ListPartnerEventSourceAccounts)

-- | The name of the partner event source to display account information
-- about.
listPartnerEventSourceAccounts_eventSourceName :: Lens.Lens' ListPartnerEventSourceAccounts Prelude.Text
listPartnerEventSourceAccounts_eventSourceName :: Lens' ListPartnerEventSourceAccounts Text
listPartnerEventSourceAccounts_eventSourceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPartnerEventSourceAccounts' {Text
eventSourceName :: Text
$sel:eventSourceName:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Text
eventSourceName} -> Text
eventSourceName) (\s :: ListPartnerEventSourceAccounts
s@ListPartnerEventSourceAccounts' {} Text
a -> ListPartnerEventSourceAccounts
s {$sel:eventSourceName:ListPartnerEventSourceAccounts' :: Text
eventSourceName = Text
a} :: ListPartnerEventSourceAccounts)

instance
  Core.AWSRequest
    ListPartnerEventSourceAccounts
  where
  type
    AWSResponse ListPartnerEventSourceAccounts =
      ListPartnerEventSourceAccountsResponse
  request :: (Service -> Service)
-> ListPartnerEventSourceAccounts
-> Request ListPartnerEventSourceAccounts
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 ListPartnerEventSourceAccounts
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse ListPartnerEventSourceAccounts)))
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 [PartnerEventSourceAccount]
-> Int
-> ListPartnerEventSourceAccountsResponse
ListPartnerEventSourceAccountsResponse'
            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
"NextToken")
            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
"PartnerEventSourceAccounts"
                            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))
      )

instance
  Prelude.Hashable
    ListPartnerEventSourceAccounts
  where
  hashWithSalt :: Int -> ListPartnerEventSourceAccounts -> Int
hashWithSalt
    Int
_salt
    ListPartnerEventSourceAccounts' {Maybe Natural
Maybe Text
Text
eventSourceName :: Text
nextToken :: Maybe Text
limit :: Maybe Natural
$sel:eventSourceName:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Text
$sel:nextToken:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Text
$sel:limit:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Natural
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
limit
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
eventSourceName

instance
  Prelude.NFData
    ListPartnerEventSourceAccounts
  where
  rnf :: ListPartnerEventSourceAccounts -> ()
rnf ListPartnerEventSourceAccounts' {Maybe Natural
Maybe Text
Text
eventSourceName :: Text
nextToken :: Maybe Text
limit :: Maybe Natural
$sel:eventSourceName:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Text
$sel:nextToken:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Text
$sel:limit:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Natural
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
limit
      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
eventSourceName

instance
  Data.ToHeaders
    ListPartnerEventSourceAccounts
  where
  toHeaders :: ListPartnerEventSourceAccounts -> 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
"AWSEvents.ListPartnerEventSourceAccounts" ::
                          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 ListPartnerEventSourceAccounts where
  toJSON :: ListPartnerEventSourceAccounts -> Value
toJSON ListPartnerEventSourceAccounts' {Maybe Natural
Maybe Text
Text
eventSourceName :: Text
nextToken :: Maybe Text
limit :: Maybe Natural
$sel:eventSourceName:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Text
$sel:nextToken:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Text
$sel:limit:ListPartnerEventSourceAccounts' :: ListPartnerEventSourceAccounts -> Maybe Natural
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Limit" 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
limit,
            (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
"EventSourceName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
eventSourceName)
          ]
      )

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

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

-- | /See:/ 'newListPartnerEventSourceAccountsResponse' smart constructor.
data ListPartnerEventSourceAccountsResponse = ListPartnerEventSourceAccountsResponse'
  { -- | A token you can use in a subsequent operation to retrieve the next set
    -- of results.
    ListPartnerEventSourceAccountsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The list of partner event sources returned by the operation.
    ListPartnerEventSourceAccountsResponse
-> Maybe [PartnerEventSourceAccount]
partnerEventSourceAccounts :: Prelude.Maybe [PartnerEventSourceAccount],
    -- | The response's http status code.
    ListPartnerEventSourceAccountsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListPartnerEventSourceAccountsResponse
-> ListPartnerEventSourceAccountsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPartnerEventSourceAccountsResponse
-> ListPartnerEventSourceAccountsResponse -> Bool
$c/= :: ListPartnerEventSourceAccountsResponse
-> ListPartnerEventSourceAccountsResponse -> Bool
== :: ListPartnerEventSourceAccountsResponse
-> ListPartnerEventSourceAccountsResponse -> Bool
$c== :: ListPartnerEventSourceAccountsResponse
-> ListPartnerEventSourceAccountsResponse -> Bool
Prelude.Eq, ReadPrec [ListPartnerEventSourceAccountsResponse]
ReadPrec ListPartnerEventSourceAccountsResponse
Int -> ReadS ListPartnerEventSourceAccountsResponse
ReadS [ListPartnerEventSourceAccountsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListPartnerEventSourceAccountsResponse]
$creadListPrec :: ReadPrec [ListPartnerEventSourceAccountsResponse]
readPrec :: ReadPrec ListPartnerEventSourceAccountsResponse
$creadPrec :: ReadPrec ListPartnerEventSourceAccountsResponse
readList :: ReadS [ListPartnerEventSourceAccountsResponse]
$creadList :: ReadS [ListPartnerEventSourceAccountsResponse]
readsPrec :: Int -> ReadS ListPartnerEventSourceAccountsResponse
$creadsPrec :: Int -> ReadS ListPartnerEventSourceAccountsResponse
Prelude.Read, Int -> ListPartnerEventSourceAccountsResponse -> ShowS
[ListPartnerEventSourceAccountsResponse] -> ShowS
ListPartnerEventSourceAccountsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPartnerEventSourceAccountsResponse] -> ShowS
$cshowList :: [ListPartnerEventSourceAccountsResponse] -> ShowS
show :: ListPartnerEventSourceAccountsResponse -> String
$cshow :: ListPartnerEventSourceAccountsResponse -> String
showsPrec :: Int -> ListPartnerEventSourceAccountsResponse -> ShowS
$cshowsPrec :: Int -> ListPartnerEventSourceAccountsResponse -> ShowS
Prelude.Show, forall x.
Rep ListPartnerEventSourceAccountsResponse x
-> ListPartnerEventSourceAccountsResponse
forall x.
ListPartnerEventSourceAccountsResponse
-> Rep ListPartnerEventSourceAccountsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListPartnerEventSourceAccountsResponse x
-> ListPartnerEventSourceAccountsResponse
$cfrom :: forall x.
ListPartnerEventSourceAccountsResponse
-> Rep ListPartnerEventSourceAccountsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListPartnerEventSourceAccountsResponse' 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:
--
-- 'nextToken', 'listPartnerEventSourceAccountsResponse_nextToken' - A token you can use in a subsequent operation to retrieve the next set
-- of results.
--
-- 'partnerEventSourceAccounts', 'listPartnerEventSourceAccountsResponse_partnerEventSourceAccounts' - The list of partner event sources returned by the operation.
--
-- 'httpStatus', 'listPartnerEventSourceAccountsResponse_httpStatus' - The response's http status code.
newListPartnerEventSourceAccountsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListPartnerEventSourceAccountsResponse
newListPartnerEventSourceAccountsResponse :: Int -> ListPartnerEventSourceAccountsResponse
newListPartnerEventSourceAccountsResponse
  Int
pHttpStatus_ =
    ListPartnerEventSourceAccountsResponse'
      { $sel:nextToken:ListPartnerEventSourceAccountsResponse' :: Maybe Text
nextToken =
          forall a. Maybe a
Prelude.Nothing,
        $sel:partnerEventSourceAccounts:ListPartnerEventSourceAccountsResponse' :: Maybe [PartnerEventSourceAccount]
partnerEventSourceAccounts =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:ListPartnerEventSourceAccountsResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | A token you can use in a subsequent operation to retrieve the next set
-- of results.
listPartnerEventSourceAccountsResponse_nextToken :: Lens.Lens' ListPartnerEventSourceAccountsResponse (Prelude.Maybe Prelude.Text)
listPartnerEventSourceAccountsResponse_nextToken :: Lens' ListPartnerEventSourceAccountsResponse (Maybe Text)
listPartnerEventSourceAccountsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPartnerEventSourceAccountsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListPartnerEventSourceAccountsResponse' :: ListPartnerEventSourceAccountsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListPartnerEventSourceAccountsResponse
s@ListPartnerEventSourceAccountsResponse' {} Maybe Text
a -> ListPartnerEventSourceAccountsResponse
s {$sel:nextToken:ListPartnerEventSourceAccountsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListPartnerEventSourceAccountsResponse)

-- | The list of partner event sources returned by the operation.
listPartnerEventSourceAccountsResponse_partnerEventSourceAccounts :: Lens.Lens' ListPartnerEventSourceAccountsResponse (Prelude.Maybe [PartnerEventSourceAccount])
listPartnerEventSourceAccountsResponse_partnerEventSourceAccounts :: Lens'
  ListPartnerEventSourceAccountsResponse
  (Maybe [PartnerEventSourceAccount])
listPartnerEventSourceAccountsResponse_partnerEventSourceAccounts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPartnerEventSourceAccountsResponse' {Maybe [PartnerEventSourceAccount]
partnerEventSourceAccounts :: Maybe [PartnerEventSourceAccount]
$sel:partnerEventSourceAccounts:ListPartnerEventSourceAccountsResponse' :: ListPartnerEventSourceAccountsResponse
-> Maybe [PartnerEventSourceAccount]
partnerEventSourceAccounts} -> Maybe [PartnerEventSourceAccount]
partnerEventSourceAccounts) (\s :: ListPartnerEventSourceAccountsResponse
s@ListPartnerEventSourceAccountsResponse' {} Maybe [PartnerEventSourceAccount]
a -> ListPartnerEventSourceAccountsResponse
s {$sel:partnerEventSourceAccounts:ListPartnerEventSourceAccountsResponse' :: Maybe [PartnerEventSourceAccount]
partnerEventSourceAccounts = Maybe [PartnerEventSourceAccount]
a} :: ListPartnerEventSourceAccountsResponse) 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.
listPartnerEventSourceAccountsResponse_httpStatus :: Lens.Lens' ListPartnerEventSourceAccountsResponse Prelude.Int
listPartnerEventSourceAccountsResponse_httpStatus :: Lens' ListPartnerEventSourceAccountsResponse Int
listPartnerEventSourceAccountsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPartnerEventSourceAccountsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListPartnerEventSourceAccountsResponse' :: ListPartnerEventSourceAccountsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListPartnerEventSourceAccountsResponse
s@ListPartnerEventSourceAccountsResponse' {} Int
a -> ListPartnerEventSourceAccountsResponse
s {$sel:httpStatus:ListPartnerEventSourceAccountsResponse' :: Int
httpStatus = Int
a} :: ListPartnerEventSourceAccountsResponse)

instance
  Prelude.NFData
    ListPartnerEventSourceAccountsResponse
  where
  rnf :: ListPartnerEventSourceAccountsResponse -> ()
rnf ListPartnerEventSourceAccountsResponse' {Int
Maybe [PartnerEventSourceAccount]
Maybe Text
httpStatus :: Int
partnerEventSourceAccounts :: Maybe [PartnerEventSourceAccount]
nextToken :: Maybe Text
$sel:httpStatus:ListPartnerEventSourceAccountsResponse' :: ListPartnerEventSourceAccountsResponse -> Int
$sel:partnerEventSourceAccounts:ListPartnerEventSourceAccountsResponse' :: ListPartnerEventSourceAccountsResponse
-> Maybe [PartnerEventSourceAccount]
$sel:nextToken:ListPartnerEventSourceAccountsResponse' :: ListPartnerEventSourceAccountsResponse -> Maybe Text
..} =
    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 Maybe [PartnerEventSourceAccount]
partnerEventSourceAccounts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus