{-# 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.ChimeSdkVoice.ListPhoneNumbers
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- -- | Undocumented operation.
module Amazonka.ChimeSdkVoice.ListPhoneNumbers
  ( -- * Creating a Request
    ListPhoneNumbers (..),
    newListPhoneNumbers,

    -- * Request Lenses
    listPhoneNumbers_filterName,
    listPhoneNumbers_filterValue,
    listPhoneNumbers_maxResults,
    listPhoneNumbers_nextToken,
    listPhoneNumbers_productType,
    listPhoneNumbers_status,

    -- * Destructuring the Response
    ListPhoneNumbersResponse (..),
    newListPhoneNumbersResponse,

    -- * Response Lenses
    listPhoneNumbersResponse_nextToken,
    listPhoneNumbersResponse_phoneNumbers,
    listPhoneNumbersResponse_httpStatus,
  )
where

import Amazonka.ChimeSdkVoice.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:/ 'newListPhoneNumbers' smart constructor.
data ListPhoneNumbers = ListPhoneNumbers'
  { ListPhoneNumbers -> Maybe PhoneNumberAssociationName
filterName :: Prelude.Maybe PhoneNumberAssociationName,
    ListPhoneNumbers -> Maybe Text
filterValue :: Prelude.Maybe Prelude.Text,
    ListPhoneNumbers -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    ListPhoneNumbers -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    ListPhoneNumbers -> Maybe PhoneNumberProductType
productType :: Prelude.Maybe PhoneNumberProductType,
    ListPhoneNumbers -> Maybe Text
status :: Prelude.Maybe Prelude.Text
  }
  deriving (ListPhoneNumbers -> ListPhoneNumbers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPhoneNumbers -> ListPhoneNumbers -> Bool
$c/= :: ListPhoneNumbers -> ListPhoneNumbers -> Bool
== :: ListPhoneNumbers -> ListPhoneNumbers -> Bool
$c== :: ListPhoneNumbers -> ListPhoneNumbers -> Bool
Prelude.Eq, ReadPrec [ListPhoneNumbers]
ReadPrec ListPhoneNumbers
Int -> ReadS ListPhoneNumbers
ReadS [ListPhoneNumbers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListPhoneNumbers]
$creadListPrec :: ReadPrec [ListPhoneNumbers]
readPrec :: ReadPrec ListPhoneNumbers
$creadPrec :: ReadPrec ListPhoneNumbers
readList :: ReadS [ListPhoneNumbers]
$creadList :: ReadS [ListPhoneNumbers]
readsPrec :: Int -> ReadS ListPhoneNumbers
$creadsPrec :: Int -> ReadS ListPhoneNumbers
Prelude.Read, Int -> ListPhoneNumbers -> ShowS
[ListPhoneNumbers] -> ShowS
ListPhoneNumbers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPhoneNumbers] -> ShowS
$cshowList :: [ListPhoneNumbers] -> ShowS
show :: ListPhoneNumbers -> String
$cshow :: ListPhoneNumbers -> String
showsPrec :: Int -> ListPhoneNumbers -> ShowS
$cshowsPrec :: Int -> ListPhoneNumbers -> ShowS
Prelude.Show, forall x. Rep ListPhoneNumbers x -> ListPhoneNumbers
forall x. ListPhoneNumbers -> Rep ListPhoneNumbers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListPhoneNumbers x -> ListPhoneNumbers
$cfrom :: forall x. ListPhoneNumbers -> Rep ListPhoneNumbers x
Prelude.Generic)

-- |
-- Create a value of 'ListPhoneNumbers' 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:
--
-- 'filterName', 'listPhoneNumbers_filterName' - Undocumented member.
--
-- 'filterValue', 'listPhoneNumbers_filterValue' - Undocumented member.
--
-- 'maxResults', 'listPhoneNumbers_maxResults' - Undocumented member.
--
-- 'nextToken', 'listPhoneNumbers_nextToken' - Undocumented member.
--
-- 'productType', 'listPhoneNumbers_productType' - Undocumented member.
--
-- 'status', 'listPhoneNumbers_status' - Undocumented member.
newListPhoneNumbers ::
  ListPhoneNumbers
newListPhoneNumbers :: ListPhoneNumbers
newListPhoneNumbers =
  ListPhoneNumbers'
    { $sel:filterName:ListPhoneNumbers' :: Maybe PhoneNumberAssociationName
filterName = forall a. Maybe a
Prelude.Nothing,
      $sel:filterValue:ListPhoneNumbers' :: Maybe Text
filterValue = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListPhoneNumbers' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListPhoneNumbers' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:productType:ListPhoneNumbers' :: Maybe PhoneNumberProductType
productType = forall a. Maybe a
Prelude.Nothing,
      $sel:status:ListPhoneNumbers' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
listPhoneNumbers_filterName :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe PhoneNumberAssociationName)
listPhoneNumbers_filterName :: Lens' ListPhoneNumbers (Maybe PhoneNumberAssociationName)
listPhoneNumbers_filterName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPhoneNumbers' {Maybe PhoneNumberAssociationName
filterName :: Maybe PhoneNumberAssociationName
$sel:filterName:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberAssociationName
filterName} -> Maybe PhoneNumberAssociationName
filterName) (\s :: ListPhoneNumbers
s@ListPhoneNumbers' {} Maybe PhoneNumberAssociationName
a -> ListPhoneNumbers
s {$sel:filterName:ListPhoneNumbers' :: Maybe PhoneNumberAssociationName
filterName = Maybe PhoneNumberAssociationName
a} :: ListPhoneNumbers)

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

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

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

-- | Undocumented member.
listPhoneNumbers_productType :: Lens.Lens' ListPhoneNumbers (Prelude.Maybe PhoneNumberProductType)
listPhoneNumbers_productType :: Lens' ListPhoneNumbers (Maybe PhoneNumberProductType)
listPhoneNumbers_productType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPhoneNumbers' {Maybe PhoneNumberProductType
productType :: Maybe PhoneNumberProductType
$sel:productType:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberProductType
productType} -> Maybe PhoneNumberProductType
productType) (\s :: ListPhoneNumbers
s@ListPhoneNumbers' {} Maybe PhoneNumberProductType
a -> ListPhoneNumbers
s {$sel:productType:ListPhoneNumbers' :: Maybe PhoneNumberProductType
productType = Maybe PhoneNumberProductType
a} :: ListPhoneNumbers)

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

instance Core.AWSRequest ListPhoneNumbers where
  type
    AWSResponse ListPhoneNumbers =
      ListPhoneNumbersResponse
  request :: (Service -> Service)
-> ListPhoneNumbers -> Request ListPhoneNumbers
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 ListPhoneNumbers
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListPhoneNumbers)))
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 [PhoneNumber] -> Int -> ListPhoneNumbersResponse
ListPhoneNumbersResponse'
            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
"PhoneNumbers" 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 ListPhoneNumbers where
  hashWithSalt :: Int -> ListPhoneNumbers -> Int
hashWithSalt Int
_salt ListPhoneNumbers' {Maybe Natural
Maybe Text
Maybe PhoneNumberAssociationName
Maybe PhoneNumberProductType
status :: Maybe Text
productType :: Maybe PhoneNumberProductType
nextToken :: Maybe Text
maxResults :: Maybe Natural
filterValue :: Maybe Text
filterName :: Maybe PhoneNumberAssociationName
$sel:status:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:productType:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberProductType
$sel:nextToken:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:maxResults:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Natural
$sel:filterValue:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:filterName:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberAssociationName
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PhoneNumberAssociationName
filterName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
filterValue
      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 PhoneNumberProductType
productType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
status

instance Prelude.NFData ListPhoneNumbers where
  rnf :: ListPhoneNumbers -> ()
rnf ListPhoneNumbers' {Maybe Natural
Maybe Text
Maybe PhoneNumberAssociationName
Maybe PhoneNumberProductType
status :: Maybe Text
productType :: Maybe PhoneNumberProductType
nextToken :: Maybe Text
maxResults :: Maybe Natural
filterValue :: Maybe Text
filterName :: Maybe PhoneNumberAssociationName
$sel:status:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:productType:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberProductType
$sel:nextToken:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:maxResults:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Natural
$sel:filterValue:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:filterName:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberAssociationName
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe PhoneNumberAssociationName
filterName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
filterValue
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 PhoneNumberProductType
productType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status

instance Data.ToHeaders ListPhoneNumbers where
  toHeaders :: ListPhoneNumbers -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

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

instance Data.ToQuery ListPhoneNumbers where
  toQuery :: ListPhoneNumbers -> QueryString
toQuery ListPhoneNumbers' {Maybe Natural
Maybe Text
Maybe PhoneNumberAssociationName
Maybe PhoneNumberProductType
status :: Maybe Text
productType :: Maybe PhoneNumberProductType
nextToken :: Maybe Text
maxResults :: Maybe Natural
filterValue :: Maybe Text
filterName :: Maybe PhoneNumberAssociationName
$sel:status:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:productType:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberProductType
$sel:nextToken:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:maxResults:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Natural
$sel:filterValue:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe Text
$sel:filterName:ListPhoneNumbers' :: ListPhoneNumbers -> Maybe PhoneNumberAssociationName
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"filter-name" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe PhoneNumberAssociationName
filterName,
        ByteString
"filter-value" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
filterValue,
        ByteString
"max-results" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"next-token" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
        ByteString
"product-type" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe PhoneNumberProductType
productType,
        ByteString
"status" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
status
      ]

-- | /See:/ 'newListPhoneNumbersResponse' smart constructor.
data ListPhoneNumbersResponse = ListPhoneNumbersResponse'
  { ListPhoneNumbersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    ListPhoneNumbersResponse -> Maybe [PhoneNumber]
phoneNumbers :: Prelude.Maybe [PhoneNumber],
    -- | The response's http status code.
    ListPhoneNumbersResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListPhoneNumbersResponse -> ListPhoneNumbersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListPhoneNumbersResponse -> ListPhoneNumbersResponse -> Bool
$c/= :: ListPhoneNumbersResponse -> ListPhoneNumbersResponse -> Bool
== :: ListPhoneNumbersResponse -> ListPhoneNumbersResponse -> Bool
$c== :: ListPhoneNumbersResponse -> ListPhoneNumbersResponse -> Bool
Prelude.Eq, Int -> ListPhoneNumbersResponse -> ShowS
[ListPhoneNumbersResponse] -> ShowS
ListPhoneNumbersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListPhoneNumbersResponse] -> ShowS
$cshowList :: [ListPhoneNumbersResponse] -> ShowS
show :: ListPhoneNumbersResponse -> String
$cshow :: ListPhoneNumbersResponse -> String
showsPrec :: Int -> ListPhoneNumbersResponse -> ShowS
$cshowsPrec :: Int -> ListPhoneNumbersResponse -> ShowS
Prelude.Show, forall x.
Rep ListPhoneNumbersResponse x -> ListPhoneNumbersResponse
forall x.
ListPhoneNumbersResponse -> Rep ListPhoneNumbersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListPhoneNumbersResponse x -> ListPhoneNumbersResponse
$cfrom :: forall x.
ListPhoneNumbersResponse -> Rep ListPhoneNumbersResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListPhoneNumbersResponse' 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', 'listPhoneNumbersResponse_nextToken' - Undocumented member.
--
-- 'phoneNumbers', 'listPhoneNumbersResponse_phoneNumbers' - Undocumented member.
--
-- 'httpStatus', 'listPhoneNumbersResponse_httpStatus' - The response's http status code.
newListPhoneNumbersResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListPhoneNumbersResponse
newListPhoneNumbersResponse :: Int -> ListPhoneNumbersResponse
newListPhoneNumbersResponse Int
pHttpStatus_ =
  ListPhoneNumbersResponse'
    { $sel:nextToken:ListPhoneNumbersResponse' :: Maybe Text
nextToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:phoneNumbers:ListPhoneNumbersResponse' :: Maybe [PhoneNumber]
phoneNumbers = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListPhoneNumbersResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

-- | Undocumented member.
listPhoneNumbersResponse_phoneNumbers :: Lens.Lens' ListPhoneNumbersResponse (Prelude.Maybe [PhoneNumber])
listPhoneNumbersResponse_phoneNumbers :: Lens' ListPhoneNumbersResponse (Maybe [PhoneNumber])
listPhoneNumbersResponse_phoneNumbers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPhoneNumbersResponse' {Maybe [PhoneNumber]
phoneNumbers :: Maybe [PhoneNumber]
$sel:phoneNumbers:ListPhoneNumbersResponse' :: ListPhoneNumbersResponse -> Maybe [PhoneNumber]
phoneNumbers} -> Maybe [PhoneNumber]
phoneNumbers) (\s :: ListPhoneNumbersResponse
s@ListPhoneNumbersResponse' {} Maybe [PhoneNumber]
a -> ListPhoneNumbersResponse
s {$sel:phoneNumbers:ListPhoneNumbersResponse' :: Maybe [PhoneNumber]
phoneNumbers = Maybe [PhoneNumber]
a} :: ListPhoneNumbersResponse) 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.
listPhoneNumbersResponse_httpStatus :: Lens.Lens' ListPhoneNumbersResponse Prelude.Int
listPhoneNumbersResponse_httpStatus :: Lens' ListPhoneNumbersResponse Int
listPhoneNumbersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListPhoneNumbersResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListPhoneNumbersResponse' :: ListPhoneNumbersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListPhoneNumbersResponse
s@ListPhoneNumbersResponse' {} Int
a -> ListPhoneNumbersResponse
s {$sel:httpStatus:ListPhoneNumbersResponse' :: Int
httpStatus = Int
a} :: ListPhoneNumbersResponse)

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