{-# 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.Panorama.ListApplicationInstances
-- 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)
--
-- Returns a list of application instances.
module Amazonka.Panorama.ListApplicationInstances
  ( -- * Creating a Request
    ListApplicationInstances (..),
    newListApplicationInstances,

    -- * Request Lenses
    listApplicationInstances_nextToken,
    listApplicationInstances_statusFilter,
    listApplicationInstances_deviceId,
    listApplicationInstances_maxResults,

    -- * Destructuring the Response
    ListApplicationInstancesResponse (..),
    newListApplicationInstancesResponse,

    -- * Response Lenses
    listApplicationInstancesResponse_nextToken,
    listApplicationInstancesResponse_applicationInstances,
    listApplicationInstancesResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListApplicationInstances' smart constructor.
data ListApplicationInstances = ListApplicationInstances'
  { -- | Specify the pagination token from a previous request to retrieve the
    -- next page of results.
    ListApplicationInstances -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | Only include instances with a specific status.
    ListApplicationInstances -> Maybe StatusFilter
statusFilter :: Prelude.Maybe StatusFilter,
    -- | The application instances\' device ID.
    ListApplicationInstances -> Maybe Text
deviceId :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of application instances to return in one page of
    -- results.
    ListApplicationInstances -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural
  }
  deriving (ListApplicationInstances -> ListApplicationInstances -> Bool
(ListApplicationInstances -> ListApplicationInstances -> Bool)
-> (ListApplicationInstances -> ListApplicationInstances -> Bool)
-> Eq ListApplicationInstances
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListApplicationInstances -> ListApplicationInstances -> Bool
$c/= :: ListApplicationInstances -> ListApplicationInstances -> Bool
== :: ListApplicationInstances -> ListApplicationInstances -> Bool
$c== :: ListApplicationInstances -> ListApplicationInstances -> Bool
Prelude.Eq, ReadPrec [ListApplicationInstances]
ReadPrec ListApplicationInstances
Int -> ReadS ListApplicationInstances
ReadS [ListApplicationInstances]
(Int -> ReadS ListApplicationInstances)
-> ReadS [ListApplicationInstances]
-> ReadPrec ListApplicationInstances
-> ReadPrec [ListApplicationInstances]
-> Read ListApplicationInstances
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListApplicationInstances]
$creadListPrec :: ReadPrec [ListApplicationInstances]
readPrec :: ReadPrec ListApplicationInstances
$creadPrec :: ReadPrec ListApplicationInstances
readList :: ReadS [ListApplicationInstances]
$creadList :: ReadS [ListApplicationInstances]
readsPrec :: Int -> ReadS ListApplicationInstances
$creadsPrec :: Int -> ReadS ListApplicationInstances
Prelude.Read, Int -> ListApplicationInstances -> ShowS
[ListApplicationInstances] -> ShowS
ListApplicationInstances -> String
(Int -> ListApplicationInstances -> ShowS)
-> (ListApplicationInstances -> String)
-> ([ListApplicationInstances] -> ShowS)
-> Show ListApplicationInstances
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListApplicationInstances] -> ShowS
$cshowList :: [ListApplicationInstances] -> ShowS
show :: ListApplicationInstances -> String
$cshow :: ListApplicationInstances -> String
showsPrec :: Int -> ListApplicationInstances -> ShowS
$cshowsPrec :: Int -> ListApplicationInstances -> ShowS
Prelude.Show, (forall x.
 ListApplicationInstances -> Rep ListApplicationInstances x)
-> (forall x.
    Rep ListApplicationInstances x -> ListApplicationInstances)
-> Generic ListApplicationInstances
forall x.
Rep ListApplicationInstances x -> ListApplicationInstances
forall x.
ListApplicationInstances -> Rep ListApplicationInstances x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListApplicationInstances x -> ListApplicationInstances
$cfrom :: forall x.
ListApplicationInstances -> Rep ListApplicationInstances x
Prelude.Generic)

-- |
-- Create a value of 'ListApplicationInstances' 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', 'listApplicationInstances_nextToken' - Specify the pagination token from a previous request to retrieve the
-- next page of results.
--
-- 'statusFilter', 'listApplicationInstances_statusFilter' - Only include instances with a specific status.
--
-- 'deviceId', 'listApplicationInstances_deviceId' - The application instances\' device ID.
--
-- 'maxResults', 'listApplicationInstances_maxResults' - The maximum number of application instances to return in one page of
-- results.
newListApplicationInstances ::
  ListApplicationInstances
newListApplicationInstances :: ListApplicationInstances
newListApplicationInstances =
  ListApplicationInstances' :: Maybe Text
-> Maybe StatusFilter
-> Maybe Text
-> Maybe Natural
-> ListApplicationInstances
ListApplicationInstances'
    { $sel:nextToken:ListApplicationInstances' :: Maybe Text
nextToken =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:statusFilter:ListApplicationInstances' :: Maybe StatusFilter
statusFilter = Maybe StatusFilter
forall a. Maybe a
Prelude.Nothing,
      $sel:deviceId:ListApplicationInstances' :: Maybe Text
deviceId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListApplicationInstances' :: Maybe Natural
maxResults = Maybe Natural
forall a. Maybe a
Prelude.Nothing
    }

-- | Specify the pagination token from a previous request to retrieve the
-- next page of results.
listApplicationInstances_nextToken :: Lens.Lens' ListApplicationInstances (Prelude.Maybe Prelude.Text)
listApplicationInstances_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListApplicationInstances -> f ListApplicationInstances
listApplicationInstances_nextToken = (ListApplicationInstances -> Maybe Text)
-> (ListApplicationInstances
    -> Maybe Text -> ListApplicationInstances)
-> Lens
     ListApplicationInstances
     ListApplicationInstances
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListApplicationInstances' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListApplicationInstances' :: ListApplicationInstances -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListApplicationInstances
s@ListApplicationInstances' {} Maybe Text
a -> ListApplicationInstances
s {$sel:nextToken:ListApplicationInstances' :: Maybe Text
nextToken = Maybe Text
a} :: ListApplicationInstances)

-- | Only include instances with a specific status.
listApplicationInstances_statusFilter :: Lens.Lens' ListApplicationInstances (Prelude.Maybe StatusFilter)
listApplicationInstances_statusFilter :: (Maybe StatusFilter -> f (Maybe StatusFilter))
-> ListApplicationInstances -> f ListApplicationInstances
listApplicationInstances_statusFilter = (ListApplicationInstances -> Maybe StatusFilter)
-> (ListApplicationInstances
    -> Maybe StatusFilter -> ListApplicationInstances)
-> Lens
     ListApplicationInstances
     ListApplicationInstances
     (Maybe StatusFilter)
     (Maybe StatusFilter)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListApplicationInstances' {Maybe StatusFilter
statusFilter :: Maybe StatusFilter
$sel:statusFilter:ListApplicationInstances' :: ListApplicationInstances -> Maybe StatusFilter
statusFilter} -> Maybe StatusFilter
statusFilter) (\s :: ListApplicationInstances
s@ListApplicationInstances' {} Maybe StatusFilter
a -> ListApplicationInstances
s {$sel:statusFilter:ListApplicationInstances' :: Maybe StatusFilter
statusFilter = Maybe StatusFilter
a} :: ListApplicationInstances)

-- | The application instances\' device ID.
listApplicationInstances_deviceId :: Lens.Lens' ListApplicationInstances (Prelude.Maybe Prelude.Text)
listApplicationInstances_deviceId :: (Maybe Text -> f (Maybe Text))
-> ListApplicationInstances -> f ListApplicationInstances
listApplicationInstances_deviceId = (ListApplicationInstances -> Maybe Text)
-> (ListApplicationInstances
    -> Maybe Text -> ListApplicationInstances)
-> Lens
     ListApplicationInstances
     ListApplicationInstances
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListApplicationInstances' {Maybe Text
deviceId :: Maybe Text
$sel:deviceId:ListApplicationInstances' :: ListApplicationInstances -> Maybe Text
deviceId} -> Maybe Text
deviceId) (\s :: ListApplicationInstances
s@ListApplicationInstances' {} Maybe Text
a -> ListApplicationInstances
s {$sel:deviceId:ListApplicationInstances' :: Maybe Text
deviceId = Maybe Text
a} :: ListApplicationInstances)

-- | The maximum number of application instances to return in one page of
-- results.
listApplicationInstances_maxResults :: Lens.Lens' ListApplicationInstances (Prelude.Maybe Prelude.Natural)
listApplicationInstances_maxResults :: (Maybe Natural -> f (Maybe Natural))
-> ListApplicationInstances -> f ListApplicationInstances
listApplicationInstances_maxResults = (ListApplicationInstances -> Maybe Natural)
-> (ListApplicationInstances
    -> Maybe Natural -> ListApplicationInstances)
-> Lens
     ListApplicationInstances
     ListApplicationInstances
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListApplicationInstances' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListApplicationInstances' :: ListApplicationInstances -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListApplicationInstances
s@ListApplicationInstances' {} Maybe Natural
a -> ListApplicationInstances
s {$sel:maxResults:ListApplicationInstances' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListApplicationInstances)

instance Core.AWSRequest ListApplicationInstances where
  type
    AWSResponse ListApplicationInstances =
      ListApplicationInstancesResponse
  request :: ListApplicationInstances -> Request ListApplicationInstances
request = Service
-> ListApplicationInstances -> Request ListApplicationInstances
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
  response :: Logger
-> Service
-> Proxy ListApplicationInstances
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListApplicationInstances)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse ListApplicationInstances))
-> Logger
-> Service
-> Proxy ListApplicationInstances
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListApplicationInstances)))
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 Text
-> Maybe [ApplicationInstance]
-> Int
-> ListApplicationInstancesResponse
ListApplicationInstancesResponse'
            (Maybe Text
 -> Maybe [ApplicationInstance]
 -> Int
 -> ListApplicationInstancesResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe [ApplicationInstance]
      -> Int -> ListApplicationInstancesResponse)
forall (f :: * -> *) a b. Functor 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
  (Maybe [ApplicationInstance]
   -> Int -> ListApplicationInstancesResponse)
-> Either String (Maybe [ApplicationInstance])
-> Either String (Int -> ListApplicationInstancesResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text -> Either String (Maybe (Maybe [ApplicationInstance]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ApplicationInstances"
                            Either String (Maybe (Maybe [ApplicationInstance]))
-> Maybe [ApplicationInstance]
-> Either String (Maybe [ApplicationInstance])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [ApplicationInstance]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either String (Int -> ListApplicationInstancesResponse)
-> Either String Int
-> Either String ListApplicationInstancesResponse
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 ListApplicationInstances

instance Prelude.NFData ListApplicationInstances

instance Core.ToHeaders ListApplicationInstances where
  toHeaders :: ListApplicationInstances -> ResponseHeaders
toHeaders =
    ResponseHeaders -> ListApplicationInstances -> 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 ListApplicationInstances where
  toPath :: ListApplicationInstances -> ByteString
toPath = ByteString -> ListApplicationInstances -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/application-instances"

instance Core.ToQuery ListApplicationInstances where
  toQuery :: ListApplicationInstances -> QueryString
toQuery ListApplicationInstances' {Maybe Natural
Maybe Text
Maybe StatusFilter
maxResults :: Maybe Natural
deviceId :: Maybe Text
statusFilter :: Maybe StatusFilter
nextToken :: Maybe Text
$sel:maxResults:ListApplicationInstances' :: ListApplicationInstances -> Maybe Natural
$sel:deviceId:ListApplicationInstances' :: ListApplicationInstances -> Maybe Text
$sel:statusFilter:ListApplicationInstances' :: ListApplicationInstances -> Maybe StatusFilter
$sel:nextToken:ListApplicationInstances' :: ListApplicationInstances -> 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
"statusFilter" ByteString -> Maybe StatusFilter -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe StatusFilter
statusFilter,
        ByteString
"deviceId" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
deviceId,
        ByteString
"maxResults" ByteString -> Maybe Natural -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Natural
maxResults
      ]

-- | /See:/ 'newListApplicationInstancesResponse' smart constructor.
data ListApplicationInstancesResponse = ListApplicationInstancesResponse'
  { -- | A pagination token that\'s included if more results are available.
    ListApplicationInstancesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A list of application instances.
    ListApplicationInstancesResponse -> Maybe [ApplicationInstance]
applicationInstances :: Prelude.Maybe [ApplicationInstance],
    -- | The response's http status code.
    ListApplicationInstancesResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListApplicationInstancesResponse
-> ListApplicationInstancesResponse -> Bool
(ListApplicationInstancesResponse
 -> ListApplicationInstancesResponse -> Bool)
-> (ListApplicationInstancesResponse
    -> ListApplicationInstancesResponse -> Bool)
-> Eq ListApplicationInstancesResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListApplicationInstancesResponse
-> ListApplicationInstancesResponse -> Bool
$c/= :: ListApplicationInstancesResponse
-> ListApplicationInstancesResponse -> Bool
== :: ListApplicationInstancesResponse
-> ListApplicationInstancesResponse -> Bool
$c== :: ListApplicationInstancesResponse
-> ListApplicationInstancesResponse -> Bool
Prelude.Eq, ReadPrec [ListApplicationInstancesResponse]
ReadPrec ListApplicationInstancesResponse
Int -> ReadS ListApplicationInstancesResponse
ReadS [ListApplicationInstancesResponse]
(Int -> ReadS ListApplicationInstancesResponse)
-> ReadS [ListApplicationInstancesResponse]
-> ReadPrec ListApplicationInstancesResponse
-> ReadPrec [ListApplicationInstancesResponse]
-> Read ListApplicationInstancesResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListApplicationInstancesResponse]
$creadListPrec :: ReadPrec [ListApplicationInstancesResponse]
readPrec :: ReadPrec ListApplicationInstancesResponse
$creadPrec :: ReadPrec ListApplicationInstancesResponse
readList :: ReadS [ListApplicationInstancesResponse]
$creadList :: ReadS [ListApplicationInstancesResponse]
readsPrec :: Int -> ReadS ListApplicationInstancesResponse
$creadsPrec :: Int -> ReadS ListApplicationInstancesResponse
Prelude.Read, Int -> ListApplicationInstancesResponse -> ShowS
[ListApplicationInstancesResponse] -> ShowS
ListApplicationInstancesResponse -> String
(Int -> ListApplicationInstancesResponse -> ShowS)
-> (ListApplicationInstancesResponse -> String)
-> ([ListApplicationInstancesResponse] -> ShowS)
-> Show ListApplicationInstancesResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListApplicationInstancesResponse] -> ShowS
$cshowList :: [ListApplicationInstancesResponse] -> ShowS
show :: ListApplicationInstancesResponse -> String
$cshow :: ListApplicationInstancesResponse -> String
showsPrec :: Int -> ListApplicationInstancesResponse -> ShowS
$cshowsPrec :: Int -> ListApplicationInstancesResponse -> ShowS
Prelude.Show, (forall x.
 ListApplicationInstancesResponse
 -> Rep ListApplicationInstancesResponse x)
-> (forall x.
    Rep ListApplicationInstancesResponse x
    -> ListApplicationInstancesResponse)
-> Generic ListApplicationInstancesResponse
forall x.
Rep ListApplicationInstancesResponse x
-> ListApplicationInstancesResponse
forall x.
ListApplicationInstancesResponse
-> Rep ListApplicationInstancesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListApplicationInstancesResponse x
-> ListApplicationInstancesResponse
$cfrom :: forall x.
ListApplicationInstancesResponse
-> Rep ListApplicationInstancesResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListApplicationInstancesResponse' 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', 'listApplicationInstancesResponse_nextToken' - A pagination token that\'s included if more results are available.
--
-- 'applicationInstances', 'listApplicationInstancesResponse_applicationInstances' - A list of application instances.
--
-- 'httpStatus', 'listApplicationInstancesResponse_httpStatus' - The response's http status code.
newListApplicationInstancesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListApplicationInstancesResponse
newListApplicationInstancesResponse :: Int -> ListApplicationInstancesResponse
newListApplicationInstancesResponse Int
pHttpStatus_ =
  ListApplicationInstancesResponse' :: Maybe Text
-> Maybe [ApplicationInstance]
-> Int
-> ListApplicationInstancesResponse
ListApplicationInstancesResponse'
    { $sel:nextToken:ListApplicationInstancesResponse' :: Maybe Text
nextToken =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:applicationInstances:ListApplicationInstancesResponse' :: Maybe [ApplicationInstance]
applicationInstances = Maybe [ApplicationInstance]
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListApplicationInstancesResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A pagination token that\'s included if more results are available.
listApplicationInstancesResponse_nextToken :: Lens.Lens' ListApplicationInstancesResponse (Prelude.Maybe Prelude.Text)
listApplicationInstancesResponse_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListApplicationInstancesResponse
-> f ListApplicationInstancesResponse
listApplicationInstancesResponse_nextToken = (ListApplicationInstancesResponse -> Maybe Text)
-> (ListApplicationInstancesResponse
    -> Maybe Text -> ListApplicationInstancesResponse)
-> Lens
     ListApplicationInstancesResponse
     ListApplicationInstancesResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListApplicationInstancesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListApplicationInstancesResponse' :: ListApplicationInstancesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListApplicationInstancesResponse
s@ListApplicationInstancesResponse' {} Maybe Text
a -> ListApplicationInstancesResponse
s {$sel:nextToken:ListApplicationInstancesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListApplicationInstancesResponse)

-- | A list of application instances.
listApplicationInstancesResponse_applicationInstances :: Lens.Lens' ListApplicationInstancesResponse (Prelude.Maybe [ApplicationInstance])
listApplicationInstancesResponse_applicationInstances :: (Maybe [ApplicationInstance] -> f (Maybe [ApplicationInstance]))
-> ListApplicationInstancesResponse
-> f ListApplicationInstancesResponse
listApplicationInstancesResponse_applicationInstances = (ListApplicationInstancesResponse -> Maybe [ApplicationInstance])
-> (ListApplicationInstancesResponse
    -> Maybe [ApplicationInstance] -> ListApplicationInstancesResponse)
-> Lens
     ListApplicationInstancesResponse
     ListApplicationInstancesResponse
     (Maybe [ApplicationInstance])
     (Maybe [ApplicationInstance])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListApplicationInstancesResponse' {Maybe [ApplicationInstance]
applicationInstances :: Maybe [ApplicationInstance]
$sel:applicationInstances:ListApplicationInstancesResponse' :: ListApplicationInstancesResponse -> Maybe [ApplicationInstance]
applicationInstances} -> Maybe [ApplicationInstance]
applicationInstances) (\s :: ListApplicationInstancesResponse
s@ListApplicationInstancesResponse' {} Maybe [ApplicationInstance]
a -> ListApplicationInstancesResponse
s {$sel:applicationInstances:ListApplicationInstancesResponse' :: Maybe [ApplicationInstance]
applicationInstances = Maybe [ApplicationInstance]
a} :: ListApplicationInstancesResponse) ((Maybe [ApplicationInstance] -> f (Maybe [ApplicationInstance]))
 -> ListApplicationInstancesResponse
 -> f ListApplicationInstancesResponse)
-> ((Maybe [ApplicationInstance]
     -> f (Maybe [ApplicationInstance]))
    -> Maybe [ApplicationInstance] -> f (Maybe [ApplicationInstance]))
-> (Maybe [ApplicationInstance] -> f (Maybe [ApplicationInstance]))
-> ListApplicationInstancesResponse
-> f ListApplicationInstancesResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [ApplicationInstance]
  [ApplicationInstance]
  [ApplicationInstance]
  [ApplicationInstance]
-> Iso
     (Maybe [ApplicationInstance])
     (Maybe [ApplicationInstance])
     (Maybe [ApplicationInstance])
     (Maybe [ApplicationInstance])
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
  [ApplicationInstance]
  [ApplicationInstance]
  [ApplicationInstance]
  [ApplicationInstance]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

instance
  Prelude.NFData
    ListApplicationInstancesResponse