{-# 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.ApiGatewayV2.GetIntegrationResponses
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the IntegrationResponses for an Integration.
--
-- This operation returns paginated results.
module Amazonka.ApiGatewayV2.GetIntegrationResponses
  ( -- * Creating a Request
    GetIntegrationResponses (..),
    newGetIntegrationResponses,

    -- * Request Lenses
    getIntegrationResponses_nextToken,
    getIntegrationResponses_maxResults,
    getIntegrationResponses_integrationId,
    getIntegrationResponses_apiId,

    -- * Destructuring the Response
    GetIntegrationResponsesResponse (..),
    newGetIntegrationResponsesResponse,

    -- * Response Lenses
    getIntegrationResponsesResponse_items,
    getIntegrationResponsesResponse_nextToken,
    getIntegrationResponsesResponse_httpStatus,
  )
where

import Amazonka.ApiGatewayV2.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newGetIntegrationResponses' smart constructor.
data GetIntegrationResponses = GetIntegrationResponses'
  { -- | The next page of elements from this collection. Not valid for the last
    -- element of the collection.
    GetIntegrationResponses -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of elements to be returned for this resource.
    GetIntegrationResponses -> Maybe Text
maxResults :: Prelude.Maybe Prelude.Text,
    -- | The integration ID.
    GetIntegrationResponses -> Text
integrationId :: Prelude.Text,
    -- | The API identifier.
    GetIntegrationResponses -> Text
apiId :: Prelude.Text
  }
  deriving (GetIntegrationResponses -> GetIntegrationResponses -> Bool
(GetIntegrationResponses -> GetIntegrationResponses -> Bool)
-> (GetIntegrationResponses -> GetIntegrationResponses -> Bool)
-> Eq GetIntegrationResponses
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetIntegrationResponses -> GetIntegrationResponses -> Bool
$c/= :: GetIntegrationResponses -> GetIntegrationResponses -> Bool
== :: GetIntegrationResponses -> GetIntegrationResponses -> Bool
$c== :: GetIntegrationResponses -> GetIntegrationResponses -> Bool
Prelude.Eq, ReadPrec [GetIntegrationResponses]
ReadPrec GetIntegrationResponses
Int -> ReadS GetIntegrationResponses
ReadS [GetIntegrationResponses]
(Int -> ReadS GetIntegrationResponses)
-> ReadS [GetIntegrationResponses]
-> ReadPrec GetIntegrationResponses
-> ReadPrec [GetIntegrationResponses]
-> Read GetIntegrationResponses
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetIntegrationResponses]
$creadListPrec :: ReadPrec [GetIntegrationResponses]
readPrec :: ReadPrec GetIntegrationResponses
$creadPrec :: ReadPrec GetIntegrationResponses
readList :: ReadS [GetIntegrationResponses]
$creadList :: ReadS [GetIntegrationResponses]
readsPrec :: Int -> ReadS GetIntegrationResponses
$creadsPrec :: Int -> ReadS GetIntegrationResponses
Prelude.Read, Int -> GetIntegrationResponses -> ShowS
[GetIntegrationResponses] -> ShowS
GetIntegrationResponses -> String
(Int -> GetIntegrationResponses -> ShowS)
-> (GetIntegrationResponses -> String)
-> ([GetIntegrationResponses] -> ShowS)
-> Show GetIntegrationResponses
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetIntegrationResponses] -> ShowS
$cshowList :: [GetIntegrationResponses] -> ShowS
show :: GetIntegrationResponses -> String
$cshow :: GetIntegrationResponses -> String
showsPrec :: Int -> GetIntegrationResponses -> ShowS
$cshowsPrec :: Int -> GetIntegrationResponses -> ShowS
Prelude.Show, (forall x.
 GetIntegrationResponses -> Rep GetIntegrationResponses x)
-> (forall x.
    Rep GetIntegrationResponses x -> GetIntegrationResponses)
-> Generic GetIntegrationResponses
forall x. Rep GetIntegrationResponses x -> GetIntegrationResponses
forall x. GetIntegrationResponses -> Rep GetIntegrationResponses x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetIntegrationResponses x -> GetIntegrationResponses
$cfrom :: forall x. GetIntegrationResponses -> Rep GetIntegrationResponses x
Prelude.Generic)

-- |
-- Create a value of 'GetIntegrationResponses' 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', 'getIntegrationResponses_nextToken' - The next page of elements from this collection. Not valid for the last
-- element of the collection.
--
-- 'maxResults', 'getIntegrationResponses_maxResults' - The maximum number of elements to be returned for this resource.
--
-- 'integrationId', 'getIntegrationResponses_integrationId' - The integration ID.
--
-- 'apiId', 'getIntegrationResponses_apiId' - The API identifier.
newGetIntegrationResponses ::
  -- | 'integrationId'
  Prelude.Text ->
  -- | 'apiId'
  Prelude.Text ->
  GetIntegrationResponses
newGetIntegrationResponses :: Text -> Text -> GetIntegrationResponses
newGetIntegrationResponses Text
pIntegrationId_ Text
pApiId_ =
  GetIntegrationResponses' :: Maybe Text -> Maybe Text -> Text -> Text -> GetIntegrationResponses
GetIntegrationResponses'
    { $sel:nextToken:GetIntegrationResponses' :: Maybe Text
nextToken =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:GetIntegrationResponses' :: Maybe Text
maxResults = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:integrationId:GetIntegrationResponses' :: Text
integrationId = Text
pIntegrationId_,
      $sel:apiId:GetIntegrationResponses' :: Text
apiId = Text
pApiId_
    }

-- | The next page of elements from this collection. Not valid for the last
-- element of the collection.
getIntegrationResponses_nextToken :: Lens.Lens' GetIntegrationResponses (Prelude.Maybe Prelude.Text)
getIntegrationResponses_nextToken :: (Maybe Text -> f (Maybe Text))
-> GetIntegrationResponses -> f GetIntegrationResponses
getIntegrationResponses_nextToken = (GetIntegrationResponses -> Maybe Text)
-> (GetIntegrationResponses
    -> Maybe Text -> GetIntegrationResponses)
-> Lens
     GetIntegrationResponses
     GetIntegrationResponses
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetIntegrationResponses' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetIntegrationResponses' :: GetIntegrationResponses -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetIntegrationResponses
s@GetIntegrationResponses' {} Maybe Text
a -> GetIntegrationResponses
s {$sel:nextToken:GetIntegrationResponses' :: Maybe Text
nextToken = Maybe Text
a} :: GetIntegrationResponses)

-- | The maximum number of elements to be returned for this resource.
getIntegrationResponses_maxResults :: Lens.Lens' GetIntegrationResponses (Prelude.Maybe Prelude.Text)
getIntegrationResponses_maxResults :: (Maybe Text -> f (Maybe Text))
-> GetIntegrationResponses -> f GetIntegrationResponses
getIntegrationResponses_maxResults = (GetIntegrationResponses -> Maybe Text)
-> (GetIntegrationResponses
    -> Maybe Text -> GetIntegrationResponses)
-> Lens
     GetIntegrationResponses
     GetIntegrationResponses
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetIntegrationResponses' {Maybe Text
maxResults :: Maybe Text
$sel:maxResults:GetIntegrationResponses' :: GetIntegrationResponses -> Maybe Text
maxResults} -> Maybe Text
maxResults) (\s :: GetIntegrationResponses
s@GetIntegrationResponses' {} Maybe Text
a -> GetIntegrationResponses
s {$sel:maxResults:GetIntegrationResponses' :: Maybe Text
maxResults = Maybe Text
a} :: GetIntegrationResponses)

-- | The integration ID.
getIntegrationResponses_integrationId :: Lens.Lens' GetIntegrationResponses Prelude.Text
getIntegrationResponses_integrationId :: (Text -> f Text)
-> GetIntegrationResponses -> f GetIntegrationResponses
getIntegrationResponses_integrationId = (GetIntegrationResponses -> Text)
-> (GetIntegrationResponses -> Text -> GetIntegrationResponses)
-> Lens GetIntegrationResponses GetIntegrationResponses Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetIntegrationResponses' {Text
integrationId :: Text
$sel:integrationId:GetIntegrationResponses' :: GetIntegrationResponses -> Text
integrationId} -> Text
integrationId) (\s :: GetIntegrationResponses
s@GetIntegrationResponses' {} Text
a -> GetIntegrationResponses
s {$sel:integrationId:GetIntegrationResponses' :: Text
integrationId = Text
a} :: GetIntegrationResponses)

-- | The API identifier.
getIntegrationResponses_apiId :: Lens.Lens' GetIntegrationResponses Prelude.Text
getIntegrationResponses_apiId :: (Text -> f Text)
-> GetIntegrationResponses -> f GetIntegrationResponses
getIntegrationResponses_apiId = (GetIntegrationResponses -> Text)
-> (GetIntegrationResponses -> Text -> GetIntegrationResponses)
-> Lens GetIntegrationResponses GetIntegrationResponses Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetIntegrationResponses' {Text
apiId :: Text
$sel:apiId:GetIntegrationResponses' :: GetIntegrationResponses -> Text
apiId} -> Text
apiId) (\s :: GetIntegrationResponses
s@GetIntegrationResponses' {} Text
a -> GetIntegrationResponses
s {$sel:apiId:GetIntegrationResponses' :: Text
apiId = Text
a} :: GetIntegrationResponses)

instance Core.AWSPager GetIntegrationResponses where
  page :: GetIntegrationResponses
-> AWSResponse GetIntegrationResponses
-> Maybe GetIntegrationResponses
page GetIntegrationResponses
rq AWSResponse GetIntegrationResponses
rs
    | Maybe Text -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse GetIntegrationResponses
GetIntegrationResponsesResponse
rs
            GetIntegrationResponsesResponse
-> Getting (First Text) GetIntegrationResponsesResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> GetIntegrationResponsesResponse
-> Const (First Text) GetIntegrationResponsesResponse
Lens' GetIntegrationResponsesResponse (Maybe Text)
getIntegrationResponsesResponse_nextToken
              ((Maybe Text -> Const (First Text) (Maybe Text))
 -> GetIntegrationResponsesResponse
 -> Const (First Text) GetIntegrationResponsesResponse)
-> ((Text -> Const (First Text) Text)
    -> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting (First Text) GetIntegrationResponsesResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
      Maybe GetIntegrationResponses
forall a. Maybe a
Prelude.Nothing
    | Maybe [IntegrationResponse] -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse GetIntegrationResponses
GetIntegrationResponsesResponse
rs
            GetIntegrationResponsesResponse
-> Getting
     (First [IntegrationResponse])
     GetIntegrationResponsesResponse
     [IntegrationResponse]
-> Maybe [IntegrationResponse]
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe [IntegrationResponse]
 -> Const
      (First [IntegrationResponse]) (Maybe [IntegrationResponse]))
-> GetIntegrationResponsesResponse
-> Const
     (First [IntegrationResponse]) GetIntegrationResponsesResponse
Lens' GetIntegrationResponsesResponse (Maybe [IntegrationResponse])
getIntegrationResponsesResponse_items
              ((Maybe [IntegrationResponse]
  -> Const
       (First [IntegrationResponse]) (Maybe [IntegrationResponse]))
 -> GetIntegrationResponsesResponse
 -> Const
      (First [IntegrationResponse]) GetIntegrationResponsesResponse)
-> (([IntegrationResponse]
     -> Const (First [IntegrationResponse]) [IntegrationResponse])
    -> Maybe [IntegrationResponse]
    -> Const
         (First [IntegrationResponse]) (Maybe [IntegrationResponse]))
-> Getting
     (First [IntegrationResponse])
     GetIntegrationResponsesResponse
     [IntegrationResponse]
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([IntegrationResponse]
 -> Const (First [IntegrationResponse]) [IntegrationResponse])
-> Maybe [IntegrationResponse]
-> Const
     (First [IntegrationResponse]) (Maybe [IntegrationResponse])
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
      Maybe GetIntegrationResponses
forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
      GetIntegrationResponses -> Maybe GetIntegrationResponses
forall a. a -> Maybe a
Prelude.Just (GetIntegrationResponses -> Maybe GetIntegrationResponses)
-> GetIntegrationResponses -> Maybe GetIntegrationResponses
forall a b. (a -> b) -> a -> b
Prelude.$
        GetIntegrationResponses
rq
          GetIntegrationResponses
-> (GetIntegrationResponses -> GetIntegrationResponses)
-> GetIntegrationResponses
forall a b. a -> (a -> b) -> b
Prelude.& (Maybe Text -> Identity (Maybe Text))
-> GetIntegrationResponses -> Identity GetIntegrationResponses
Lens
  GetIntegrationResponses
  GetIntegrationResponses
  (Maybe Text)
  (Maybe Text)
getIntegrationResponses_nextToken
          ((Maybe Text -> Identity (Maybe Text))
 -> GetIntegrationResponses -> Identity GetIntegrationResponses)
-> Maybe Text -> GetIntegrationResponses -> GetIntegrationResponses
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse GetIntegrationResponses
GetIntegrationResponsesResponse
rs
          GetIntegrationResponsesResponse
-> Getting (First Text) GetIntegrationResponsesResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> GetIntegrationResponsesResponse
-> Const (First Text) GetIntegrationResponsesResponse
Lens' GetIntegrationResponsesResponse (Maybe Text)
getIntegrationResponsesResponse_nextToken
            ((Maybe Text -> Const (First Text) (Maybe Text))
 -> GetIntegrationResponsesResponse
 -> Const (First Text) GetIntegrationResponsesResponse)
-> ((Text -> Const (First Text) Text)
    -> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting (First Text) GetIntegrationResponsesResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest GetIntegrationResponses where
  type
    AWSResponse GetIntegrationResponses =
      GetIntegrationResponsesResponse
  request :: GetIntegrationResponses -> Request GetIntegrationResponses
request = Service
-> GetIntegrationResponses -> Request GetIntegrationResponses
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
  response :: Logger
-> Service
-> Proxy GetIntegrationResponses
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetIntegrationResponses)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse GetIntegrationResponses))
-> Logger
-> Service
-> Proxy GetIntegrationResponses
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetIntegrationResponses)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe [IntegrationResponse]
-> Maybe Text -> Int -> GetIntegrationResponsesResponse
GetIntegrationResponsesResponse'
            (Maybe [IntegrationResponse]
 -> Maybe Text -> Int -> GetIntegrationResponsesResponse)
-> Either String (Maybe [IntegrationResponse])
-> Either
     String (Maybe Text -> Int -> GetIntegrationResponsesResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object
-> Text -> Either String (Maybe (Maybe [IntegrationResponse]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"items" Either String (Maybe (Maybe [IntegrationResponse]))
-> Maybe [IntegrationResponse]
-> Either String (Maybe [IntegrationResponse])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [IntegrationResponse]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String (Maybe Text -> Int -> GetIntegrationResponsesResponse)
-> Either String (Maybe Text)
-> Either String (Int -> GetIntegrationResponsesResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"nextToken")
            Either String (Int -> GetIntegrationResponsesResponse)
-> Either String Int
-> Either String GetIntegrationResponsesResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable GetIntegrationResponses

instance Prelude.NFData GetIntegrationResponses

instance Core.ToHeaders GetIntegrationResponses where
  toHeaders :: GetIntegrationResponses -> ResponseHeaders
toHeaders =
    ResponseHeaders -> GetIntegrationResponses -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToPath GetIntegrationResponses where
  toPath :: GetIntegrationResponses -> ByteString
toPath GetIntegrationResponses' {Maybe Text
Text
apiId :: Text
integrationId :: Text
maxResults :: Maybe Text
nextToken :: Maybe Text
$sel:apiId:GetIntegrationResponses' :: GetIntegrationResponses -> Text
$sel:integrationId:GetIntegrationResponses' :: GetIntegrationResponses -> Text
$sel:maxResults:GetIntegrationResponses' :: GetIntegrationResponses -> Maybe Text
$sel:nextToken:GetIntegrationResponses' :: GetIntegrationResponses -> Maybe Text
..} =
    [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/v2/apis/",
        Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
apiId,
        ByteString
"/integrations/",
        Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
integrationId,
        ByteString
"/integrationresponses"
      ]

instance Core.ToQuery GetIntegrationResponses where
  toQuery :: GetIntegrationResponses -> QueryString
toQuery GetIntegrationResponses' {Maybe Text
Text
apiId :: Text
integrationId :: Text
maxResults :: Maybe Text
nextToken :: Maybe Text
$sel:apiId:GetIntegrationResponses' :: GetIntegrationResponses -> Text
$sel:integrationId:GetIntegrationResponses' :: GetIntegrationResponses -> Text
$sel:maxResults:GetIntegrationResponses' :: GetIntegrationResponses -> Maybe Text
$sel:nextToken:GetIntegrationResponses' :: GetIntegrationResponses -> Maybe Text
..} =
    [QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"nextToken" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
nextToken,
        ByteString
"maxResults" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
maxResults
      ]

-- | /See:/ 'newGetIntegrationResponsesResponse' smart constructor.
data GetIntegrationResponsesResponse = GetIntegrationResponsesResponse'
  { -- | The elements from this collection.
    GetIntegrationResponsesResponse -> Maybe [IntegrationResponse]
items :: Prelude.Maybe [IntegrationResponse],
    -- | The next page of elements from this collection. Not valid for the last
    -- element of the collection.
    GetIntegrationResponsesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetIntegrationResponsesResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetIntegrationResponsesResponse
-> GetIntegrationResponsesResponse -> Bool
(GetIntegrationResponsesResponse
 -> GetIntegrationResponsesResponse -> Bool)
-> (GetIntegrationResponsesResponse
    -> GetIntegrationResponsesResponse -> Bool)
-> Eq GetIntegrationResponsesResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetIntegrationResponsesResponse
-> GetIntegrationResponsesResponse -> Bool
$c/= :: GetIntegrationResponsesResponse
-> GetIntegrationResponsesResponse -> Bool
== :: GetIntegrationResponsesResponse
-> GetIntegrationResponsesResponse -> Bool
$c== :: GetIntegrationResponsesResponse
-> GetIntegrationResponsesResponse -> Bool
Prelude.Eq, ReadPrec [GetIntegrationResponsesResponse]
ReadPrec GetIntegrationResponsesResponse
Int -> ReadS GetIntegrationResponsesResponse
ReadS [GetIntegrationResponsesResponse]
(Int -> ReadS GetIntegrationResponsesResponse)
-> ReadS [GetIntegrationResponsesResponse]
-> ReadPrec GetIntegrationResponsesResponse
-> ReadPrec [GetIntegrationResponsesResponse]
-> Read GetIntegrationResponsesResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetIntegrationResponsesResponse]
$creadListPrec :: ReadPrec [GetIntegrationResponsesResponse]
readPrec :: ReadPrec GetIntegrationResponsesResponse
$creadPrec :: ReadPrec GetIntegrationResponsesResponse
readList :: ReadS [GetIntegrationResponsesResponse]
$creadList :: ReadS [GetIntegrationResponsesResponse]
readsPrec :: Int -> ReadS GetIntegrationResponsesResponse
$creadsPrec :: Int -> ReadS GetIntegrationResponsesResponse
Prelude.Read, Int -> GetIntegrationResponsesResponse -> ShowS
[GetIntegrationResponsesResponse] -> ShowS
GetIntegrationResponsesResponse -> String
(Int -> GetIntegrationResponsesResponse -> ShowS)
-> (GetIntegrationResponsesResponse -> String)
-> ([GetIntegrationResponsesResponse] -> ShowS)
-> Show GetIntegrationResponsesResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetIntegrationResponsesResponse] -> ShowS
$cshowList :: [GetIntegrationResponsesResponse] -> ShowS
show :: GetIntegrationResponsesResponse -> String
$cshow :: GetIntegrationResponsesResponse -> String
showsPrec :: Int -> GetIntegrationResponsesResponse -> ShowS
$cshowsPrec :: Int -> GetIntegrationResponsesResponse -> ShowS
Prelude.Show, (forall x.
 GetIntegrationResponsesResponse
 -> Rep GetIntegrationResponsesResponse x)
-> (forall x.
    Rep GetIntegrationResponsesResponse x
    -> GetIntegrationResponsesResponse)
-> Generic GetIntegrationResponsesResponse
forall x.
Rep GetIntegrationResponsesResponse x
-> GetIntegrationResponsesResponse
forall x.
GetIntegrationResponsesResponse
-> Rep GetIntegrationResponsesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetIntegrationResponsesResponse x
-> GetIntegrationResponsesResponse
$cfrom :: forall x.
GetIntegrationResponsesResponse
-> Rep GetIntegrationResponsesResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetIntegrationResponsesResponse' 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:
--
-- 'items', 'getIntegrationResponsesResponse_items' - The elements from this collection.
--
-- 'nextToken', 'getIntegrationResponsesResponse_nextToken' - The next page of elements from this collection. Not valid for the last
-- element of the collection.
--
-- 'httpStatus', 'getIntegrationResponsesResponse_httpStatus' - The response's http status code.
newGetIntegrationResponsesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetIntegrationResponsesResponse
newGetIntegrationResponsesResponse :: Int -> GetIntegrationResponsesResponse
newGetIntegrationResponsesResponse Int
pHttpStatus_ =
  GetIntegrationResponsesResponse' :: Maybe [IntegrationResponse]
-> Maybe Text -> Int -> GetIntegrationResponsesResponse
GetIntegrationResponsesResponse'
    { $sel:items:GetIntegrationResponsesResponse' :: Maybe [IntegrationResponse]
items =
        Maybe [IntegrationResponse]
forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:GetIntegrationResponsesResponse' :: Maybe Text
nextToken = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetIntegrationResponsesResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The elements from this collection.
getIntegrationResponsesResponse_items :: Lens.Lens' GetIntegrationResponsesResponse (Prelude.Maybe [IntegrationResponse])
getIntegrationResponsesResponse_items :: (Maybe [IntegrationResponse] -> f (Maybe [IntegrationResponse]))
-> GetIntegrationResponsesResponse
-> f GetIntegrationResponsesResponse
getIntegrationResponsesResponse_items = (GetIntegrationResponsesResponse -> Maybe [IntegrationResponse])
-> (GetIntegrationResponsesResponse
    -> Maybe [IntegrationResponse] -> GetIntegrationResponsesResponse)
-> Lens'
     GetIntegrationResponsesResponse (Maybe [IntegrationResponse])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetIntegrationResponsesResponse' {Maybe [IntegrationResponse]
items :: Maybe [IntegrationResponse]
$sel:items:GetIntegrationResponsesResponse' :: GetIntegrationResponsesResponse -> Maybe [IntegrationResponse]
items} -> Maybe [IntegrationResponse]
items) (\s :: GetIntegrationResponsesResponse
s@GetIntegrationResponsesResponse' {} Maybe [IntegrationResponse]
a -> GetIntegrationResponsesResponse
s {$sel:items:GetIntegrationResponsesResponse' :: Maybe [IntegrationResponse]
items = Maybe [IntegrationResponse]
a} :: GetIntegrationResponsesResponse) ((Maybe [IntegrationResponse] -> f (Maybe [IntegrationResponse]))
 -> GetIntegrationResponsesResponse
 -> f GetIntegrationResponsesResponse)
-> ((Maybe [IntegrationResponse]
     -> f (Maybe [IntegrationResponse]))
    -> Maybe [IntegrationResponse] -> f (Maybe [IntegrationResponse]))
-> (Maybe [IntegrationResponse] -> f (Maybe [IntegrationResponse]))
-> GetIntegrationResponsesResponse
-> f GetIntegrationResponsesResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [IntegrationResponse]
  [IntegrationResponse]
  [IntegrationResponse]
  [IntegrationResponse]
-> Iso
     (Maybe [IntegrationResponse])
     (Maybe [IntegrationResponse])
     (Maybe [IntegrationResponse])
     (Maybe [IntegrationResponse])
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 AnIso
  [IntegrationResponse]
  [IntegrationResponse]
  [IntegrationResponse]
  [IntegrationResponse]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The next page of elements from this collection. Not valid for the last
-- element of the collection.
getIntegrationResponsesResponse_nextToken :: Lens.Lens' GetIntegrationResponsesResponse (Prelude.Maybe Prelude.Text)
getIntegrationResponsesResponse_nextToken :: (Maybe Text -> f (Maybe Text))
-> GetIntegrationResponsesResponse
-> f GetIntegrationResponsesResponse
getIntegrationResponsesResponse_nextToken = (GetIntegrationResponsesResponse -> Maybe Text)
-> (GetIntegrationResponsesResponse
    -> Maybe Text -> GetIntegrationResponsesResponse)
-> Lens' GetIntegrationResponsesResponse (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetIntegrationResponsesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetIntegrationResponsesResponse' :: GetIntegrationResponsesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetIntegrationResponsesResponse
s@GetIntegrationResponsesResponse' {} Maybe Text
a -> GetIntegrationResponsesResponse
s {$sel:nextToken:GetIntegrationResponsesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetIntegrationResponsesResponse)

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

instance
  Prelude.NFData
    GetIntegrationResponsesResponse