{-# 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.Outposts.ListSites
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists the Outpost sites for your Amazon Web Services account. Use
-- filters to return specific results.
--
-- Use filters to return specific results. If you specify multiple filters,
-- the results include only the resources that match all of the specified
-- filters. For a filter where you can specify multiple values, the results
-- include items that match any of the values that you specify for the
-- filter.
module Amazonka.Outposts.ListSites
  ( -- * Creating a Request
    ListSites (..),
    newListSites,

    -- * Request Lenses
    listSites_maxResults,
    listSites_nextToken,
    listSites_operatingAddressCityFilter,
    listSites_operatingAddressCountryCodeFilter,
    listSites_operatingAddressStateOrRegionFilter,

    -- * Destructuring the Response
    ListSitesResponse (..),
    newListSitesResponse,

    -- * Response Lenses
    listSitesResponse_nextToken,
    listSitesResponse_sites,
    listSitesResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListSites' smart constructor.
data ListSites = ListSites'
  { ListSites -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    ListSites -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | Filters the results by city.
    ListSites -> Maybe [Text]
operatingAddressCityFilter :: Prelude.Maybe [Prelude.Text],
    -- | Filters the results by country code.
    ListSites -> Maybe [Text]
operatingAddressCountryCodeFilter :: Prelude.Maybe [Prelude.Text],
    -- | Filters the results by state or region.
    ListSites -> Maybe [Text]
operatingAddressStateOrRegionFilter :: Prelude.Maybe [Prelude.Text]
  }
  deriving (ListSites -> ListSites -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSites -> ListSites -> Bool
$c/= :: ListSites -> ListSites -> Bool
== :: ListSites -> ListSites -> Bool
$c== :: ListSites -> ListSites -> Bool
Prelude.Eq, ReadPrec [ListSites]
ReadPrec ListSites
Int -> ReadS ListSites
ReadS [ListSites]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSites]
$creadListPrec :: ReadPrec [ListSites]
readPrec :: ReadPrec ListSites
$creadPrec :: ReadPrec ListSites
readList :: ReadS [ListSites]
$creadList :: ReadS [ListSites]
readsPrec :: Int -> ReadS ListSites
$creadsPrec :: Int -> ReadS ListSites
Prelude.Read, Int -> ListSites -> ShowS
[ListSites] -> ShowS
ListSites -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSites] -> ShowS
$cshowList :: [ListSites] -> ShowS
show :: ListSites -> String
$cshow :: ListSites -> String
showsPrec :: Int -> ListSites -> ShowS
$cshowsPrec :: Int -> ListSites -> ShowS
Prelude.Show, forall x. Rep ListSites x -> ListSites
forall x. ListSites -> Rep ListSites x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListSites x -> ListSites
$cfrom :: forall x. ListSites -> Rep ListSites x
Prelude.Generic)

-- |
-- Create a value of 'ListSites' 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:
--
-- 'maxResults', 'listSites_maxResults' - Undocumented member.
--
-- 'nextToken', 'listSites_nextToken' - Undocumented member.
--
-- 'operatingAddressCityFilter', 'listSites_operatingAddressCityFilter' - Filters the results by city.
--
-- 'operatingAddressCountryCodeFilter', 'listSites_operatingAddressCountryCodeFilter' - Filters the results by country code.
--
-- 'operatingAddressStateOrRegionFilter', 'listSites_operatingAddressStateOrRegionFilter' - Filters the results by state or region.
newListSites ::
  ListSites
newListSites :: ListSites
newListSites =
  ListSites'
    { $sel:maxResults:ListSites' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListSites' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:operatingAddressCityFilter:ListSites' :: Maybe [Text]
operatingAddressCityFilter = forall a. Maybe a
Prelude.Nothing,
      $sel:operatingAddressCountryCodeFilter:ListSites' :: Maybe [Text]
operatingAddressCountryCodeFilter = forall a. Maybe a
Prelude.Nothing,
      $sel:operatingAddressStateOrRegionFilter:ListSites' :: Maybe [Text]
operatingAddressStateOrRegionFilter =
        forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
listSites_maxResults :: Lens.Lens' ListSites (Prelude.Maybe Prelude.Natural)
listSites_maxResults :: Lens' ListSites (Maybe Natural)
listSites_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSites' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListSites' :: ListSites -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListSites
s@ListSites' {} Maybe Natural
a -> ListSites
s {$sel:maxResults:ListSites' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListSites)

-- | Undocumented member.
listSites_nextToken :: Lens.Lens' ListSites (Prelude.Maybe Prelude.Text)
listSites_nextToken :: Lens' ListSites (Maybe Text)
listSites_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSites' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListSites' :: ListSites -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListSites
s@ListSites' {} Maybe Text
a -> ListSites
s {$sel:nextToken:ListSites' :: Maybe Text
nextToken = Maybe Text
a} :: ListSites)

-- | Filters the results by city.
listSites_operatingAddressCityFilter :: Lens.Lens' ListSites (Prelude.Maybe [Prelude.Text])
listSites_operatingAddressCityFilter :: Lens' ListSites (Maybe [Text])
listSites_operatingAddressCityFilter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSites' {Maybe [Text]
operatingAddressCityFilter :: Maybe [Text]
$sel:operatingAddressCityFilter:ListSites' :: ListSites -> Maybe [Text]
operatingAddressCityFilter} -> Maybe [Text]
operatingAddressCityFilter) (\s :: ListSites
s@ListSites' {} Maybe [Text]
a -> ListSites
s {$sel:operatingAddressCityFilter:ListSites' :: Maybe [Text]
operatingAddressCityFilter = Maybe [Text]
a} :: ListSites) 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

-- | Filters the results by country code.
listSites_operatingAddressCountryCodeFilter :: Lens.Lens' ListSites (Prelude.Maybe [Prelude.Text])
listSites_operatingAddressCountryCodeFilter :: Lens' ListSites (Maybe [Text])
listSites_operatingAddressCountryCodeFilter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSites' {Maybe [Text]
operatingAddressCountryCodeFilter :: Maybe [Text]
$sel:operatingAddressCountryCodeFilter:ListSites' :: ListSites -> Maybe [Text]
operatingAddressCountryCodeFilter} -> Maybe [Text]
operatingAddressCountryCodeFilter) (\s :: ListSites
s@ListSites' {} Maybe [Text]
a -> ListSites
s {$sel:operatingAddressCountryCodeFilter:ListSites' :: Maybe [Text]
operatingAddressCountryCodeFilter = Maybe [Text]
a} :: ListSites) 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

-- | Filters the results by state or region.
listSites_operatingAddressStateOrRegionFilter :: Lens.Lens' ListSites (Prelude.Maybe [Prelude.Text])
listSites_operatingAddressStateOrRegionFilter :: Lens' ListSites (Maybe [Text])
listSites_operatingAddressStateOrRegionFilter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSites' {Maybe [Text]
operatingAddressStateOrRegionFilter :: Maybe [Text]
$sel:operatingAddressStateOrRegionFilter:ListSites' :: ListSites -> Maybe [Text]
operatingAddressStateOrRegionFilter} -> Maybe [Text]
operatingAddressStateOrRegionFilter) (\s :: ListSites
s@ListSites' {} Maybe [Text]
a -> ListSites
s {$sel:operatingAddressStateOrRegionFilter:ListSites' :: Maybe [Text]
operatingAddressStateOrRegionFilter = Maybe [Text]
a} :: ListSites) 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

instance Core.AWSRequest ListSites where
  type AWSResponse ListSites = ListSitesResponse
  request :: (Service -> Service) -> ListSites -> Request ListSites
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListSites
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListSites)))
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 [Site] -> Int -> ListSitesResponse
ListSitesResponse'
            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
"Sites" 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 ListSites where
  hashWithSalt :: Int -> ListSites -> Int
hashWithSalt Int
_salt ListSites' {Maybe Natural
Maybe [Text]
Maybe Text
operatingAddressStateOrRegionFilter :: Maybe [Text]
operatingAddressCountryCodeFilter :: Maybe [Text]
operatingAddressCityFilter :: Maybe [Text]
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:operatingAddressStateOrRegionFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:operatingAddressCountryCodeFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:operatingAddressCityFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:nextToken:ListSites' :: ListSites -> Maybe Text
$sel:maxResults:ListSites' :: ListSites -> Maybe Natural
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
operatingAddressCityFilter
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
operatingAddressCountryCodeFilter
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
operatingAddressStateOrRegionFilter

instance Prelude.NFData ListSites where
  rnf :: ListSites -> ()
rnf ListSites' {Maybe Natural
Maybe [Text]
Maybe Text
operatingAddressStateOrRegionFilter :: Maybe [Text]
operatingAddressCountryCodeFilter :: Maybe [Text]
operatingAddressCityFilter :: Maybe [Text]
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:operatingAddressStateOrRegionFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:operatingAddressCountryCodeFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:operatingAddressCityFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:nextToken:ListSites' :: ListSites -> Maybe Text
$sel:maxResults:ListSites' :: ListSites -> Maybe Natural
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      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 Maybe [Text]
operatingAddressCityFilter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
operatingAddressCountryCodeFilter
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
operatingAddressStateOrRegionFilter

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

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

instance Data.ToQuery ListSites where
  toQuery :: ListSites -> QueryString
toQuery ListSites' {Maybe Natural
Maybe [Text]
Maybe Text
operatingAddressStateOrRegionFilter :: Maybe [Text]
operatingAddressCountryCodeFilter :: Maybe [Text]
operatingAddressCityFilter :: Maybe [Text]
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:operatingAddressStateOrRegionFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:operatingAddressCountryCodeFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:operatingAddressCityFilter:ListSites' :: ListSites -> Maybe [Text]
$sel:nextToken:ListSites' :: ListSites -> Maybe Text
$sel:maxResults:ListSites' :: ListSites -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
        ByteString
"OperatingAddressCityFilter"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
            ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member"
                forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
operatingAddressCityFilter
            ),
        ByteString
"OperatingAddressCountryCodeFilter"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
            ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member"
                forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
operatingAddressCountryCodeFilter
            ),
        ByteString
"OperatingAddressStateOrRegionFilter"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
            ( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member"
                forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
operatingAddressStateOrRegionFilter
            )
      ]

-- | /See:/ 'newListSitesResponse' smart constructor.
data ListSitesResponse = ListSitesResponse'
  { ListSitesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    ListSitesResponse -> Maybe [Site]
sites :: Prelude.Maybe [Site],
    -- | The response's http status code.
    ListSitesResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListSitesResponse -> ListSitesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSitesResponse -> ListSitesResponse -> Bool
$c/= :: ListSitesResponse -> ListSitesResponse -> Bool
== :: ListSitesResponse -> ListSitesResponse -> Bool
$c== :: ListSitesResponse -> ListSitesResponse -> Bool
Prelude.Eq, ReadPrec [ListSitesResponse]
ReadPrec ListSitesResponse
Int -> ReadS ListSitesResponse
ReadS [ListSitesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSitesResponse]
$creadListPrec :: ReadPrec [ListSitesResponse]
readPrec :: ReadPrec ListSitesResponse
$creadPrec :: ReadPrec ListSitesResponse
readList :: ReadS [ListSitesResponse]
$creadList :: ReadS [ListSitesResponse]
readsPrec :: Int -> ReadS ListSitesResponse
$creadsPrec :: Int -> ReadS ListSitesResponse
Prelude.Read, Int -> ListSitesResponse -> ShowS
[ListSitesResponse] -> ShowS
ListSitesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSitesResponse] -> ShowS
$cshowList :: [ListSitesResponse] -> ShowS
show :: ListSitesResponse -> String
$cshow :: ListSitesResponse -> String
showsPrec :: Int -> ListSitesResponse -> ShowS
$cshowsPrec :: Int -> ListSitesResponse -> ShowS
Prelude.Show, forall x. Rep ListSitesResponse x -> ListSitesResponse
forall x. ListSitesResponse -> Rep ListSitesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListSitesResponse x -> ListSitesResponse
$cfrom :: forall x. ListSitesResponse -> Rep ListSitesResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListSitesResponse' 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', 'listSitesResponse_nextToken' - Undocumented member.
--
-- 'sites', 'listSitesResponse_sites' - Undocumented member.
--
-- 'httpStatus', 'listSitesResponse_httpStatus' - The response's http status code.
newListSitesResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListSitesResponse
newListSitesResponse :: Int -> ListSitesResponse
newListSitesResponse Int
pHttpStatus_ =
  ListSitesResponse'
    { $sel:nextToken:ListSitesResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:sites:ListSitesResponse' :: Maybe [Site]
sites = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListSitesResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Undocumented member.
listSitesResponse_nextToken :: Lens.Lens' ListSitesResponse (Prelude.Maybe Prelude.Text)
listSitesResponse_nextToken :: Lens' ListSitesResponse (Maybe Text)
listSitesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSitesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListSitesResponse' :: ListSitesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListSitesResponse
s@ListSitesResponse' {} Maybe Text
a -> ListSitesResponse
s {$sel:nextToken:ListSitesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListSitesResponse)

-- | Undocumented member.
listSitesResponse_sites :: Lens.Lens' ListSitesResponse (Prelude.Maybe [Site])
listSitesResponse_sites :: Lens' ListSitesResponse (Maybe [Site])
listSitesResponse_sites = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSitesResponse' {Maybe [Site]
sites :: Maybe [Site]
$sel:sites:ListSitesResponse' :: ListSitesResponse -> Maybe [Site]
sites} -> Maybe [Site]
sites) (\s :: ListSitesResponse
s@ListSitesResponse' {} Maybe [Site]
a -> ListSitesResponse
s {$sel:sites:ListSitesResponse' :: Maybe [Site]
sites = Maybe [Site]
a} :: ListSitesResponse) 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.
listSitesResponse_httpStatus :: Lens.Lens' ListSitesResponse Prelude.Int
listSitesResponse_httpStatus :: Lens' ListSitesResponse Int
listSitesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSitesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListSitesResponse' :: ListSitesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListSitesResponse
s@ListSitesResponse' {} Int
a -> ListSitesResponse
s {$sel:httpStatus:ListSitesResponse' :: Int
httpStatus = Int
a} :: ListSitesResponse)

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