{-# 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.MGN.DescribeSourceServers
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves all SourceServers or multiple SourceServers by ID.
--
-- This operation returns paginated results.
module Amazonka.MGN.DescribeSourceServers
  ( -- * Creating a Request
    DescribeSourceServers (..),
    newDescribeSourceServers,

    -- * Request Lenses
    describeSourceServers_filters,
    describeSourceServers_maxResults,
    describeSourceServers_nextToken,

    -- * Destructuring the Response
    DescribeSourceServersResponse (..),
    newDescribeSourceServersResponse,

    -- * Response Lenses
    describeSourceServersResponse_items,
    describeSourceServersResponse_nextToken,
    describeSourceServersResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeSourceServers' smart constructor.
data DescribeSourceServers = DescribeSourceServers'
  { -- | Request to filter Source Servers list.
    DescribeSourceServers -> Maybe DescribeSourceServersRequestFilters
filters :: Prelude.Maybe DescribeSourceServersRequestFilters,
    -- | Request to filter Source Servers list by maximum results.
    DescribeSourceServers -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | Request to filter Source Servers list by next token.
    DescribeSourceServers -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
  }
  deriving (DescribeSourceServers -> DescribeSourceServers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSourceServers -> DescribeSourceServers -> Bool
$c/= :: DescribeSourceServers -> DescribeSourceServers -> Bool
== :: DescribeSourceServers -> DescribeSourceServers -> Bool
$c== :: DescribeSourceServers -> DescribeSourceServers -> Bool
Prelude.Eq, ReadPrec [DescribeSourceServers]
ReadPrec DescribeSourceServers
Int -> ReadS DescribeSourceServers
ReadS [DescribeSourceServers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSourceServers]
$creadListPrec :: ReadPrec [DescribeSourceServers]
readPrec :: ReadPrec DescribeSourceServers
$creadPrec :: ReadPrec DescribeSourceServers
readList :: ReadS [DescribeSourceServers]
$creadList :: ReadS [DescribeSourceServers]
readsPrec :: Int -> ReadS DescribeSourceServers
$creadsPrec :: Int -> ReadS DescribeSourceServers
Prelude.Read, Int -> DescribeSourceServers -> ShowS
[DescribeSourceServers] -> ShowS
DescribeSourceServers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSourceServers] -> ShowS
$cshowList :: [DescribeSourceServers] -> ShowS
show :: DescribeSourceServers -> String
$cshow :: DescribeSourceServers -> String
showsPrec :: Int -> DescribeSourceServers -> ShowS
$cshowsPrec :: Int -> DescribeSourceServers -> ShowS
Prelude.Show, forall x. Rep DescribeSourceServers x -> DescribeSourceServers
forall x. DescribeSourceServers -> Rep DescribeSourceServers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSourceServers x -> DescribeSourceServers
$cfrom :: forall x. DescribeSourceServers -> Rep DescribeSourceServers x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSourceServers' 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:
--
-- 'filters', 'describeSourceServers_filters' - Request to filter Source Servers list.
--
-- 'maxResults', 'describeSourceServers_maxResults' - Request to filter Source Servers list by maximum results.
--
-- 'nextToken', 'describeSourceServers_nextToken' - Request to filter Source Servers list by next token.
newDescribeSourceServers ::
  DescribeSourceServers
newDescribeSourceServers :: DescribeSourceServers
newDescribeSourceServers =
  DescribeSourceServers'
    { $sel:filters:DescribeSourceServers' :: Maybe DescribeSourceServersRequestFilters
filters = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:DescribeSourceServers' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeSourceServers' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
    }

-- | Request to filter Source Servers list.
describeSourceServers_filters :: Lens.Lens' DescribeSourceServers (Prelude.Maybe DescribeSourceServersRequestFilters)
describeSourceServers_filters :: Lens'
  DescribeSourceServers (Maybe DescribeSourceServersRequestFilters)
describeSourceServers_filters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSourceServers' {Maybe DescribeSourceServersRequestFilters
filters :: Maybe DescribeSourceServersRequestFilters
$sel:filters:DescribeSourceServers' :: DescribeSourceServers -> Maybe DescribeSourceServersRequestFilters
filters} -> Maybe DescribeSourceServersRequestFilters
filters) (\s :: DescribeSourceServers
s@DescribeSourceServers' {} Maybe DescribeSourceServersRequestFilters
a -> DescribeSourceServers
s {$sel:filters:DescribeSourceServers' :: Maybe DescribeSourceServersRequestFilters
filters = Maybe DescribeSourceServersRequestFilters
a} :: DescribeSourceServers)

-- | Request to filter Source Servers list by maximum results.
describeSourceServers_maxResults :: Lens.Lens' DescribeSourceServers (Prelude.Maybe Prelude.Natural)
describeSourceServers_maxResults :: Lens' DescribeSourceServers (Maybe Natural)
describeSourceServers_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSourceServers' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeSourceServers' :: DescribeSourceServers -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeSourceServers
s@DescribeSourceServers' {} Maybe Natural
a -> DescribeSourceServers
s {$sel:maxResults:DescribeSourceServers' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeSourceServers)

-- | Request to filter Source Servers list by next token.
describeSourceServers_nextToken :: Lens.Lens' DescribeSourceServers (Prelude.Maybe Prelude.Text)
describeSourceServers_nextToken :: Lens' DescribeSourceServers (Maybe Text)
describeSourceServers_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSourceServers' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeSourceServers' :: DescribeSourceServers -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeSourceServers
s@DescribeSourceServers' {} Maybe Text
a -> DescribeSourceServers
s {$sel:nextToken:DescribeSourceServers' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeSourceServers)

instance Core.AWSPager DescribeSourceServers where
  page :: DescribeSourceServers
-> AWSResponse DescribeSourceServers -> Maybe DescribeSourceServers
page DescribeSourceServers
rq AWSResponse DescribeSourceServers
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse DescribeSourceServers
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeSourceServersResponse (Maybe Text)
describeSourceServersResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse DescribeSourceServers
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeSourceServersResponse (Maybe [SourceServer])
describeSourceServersResponse_items
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ DescribeSourceServers
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeSourceServers (Maybe Text)
describeSourceServers_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeSourceServers
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeSourceServersResponse (Maybe Text)
describeSourceServersResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest DescribeSourceServers where
  type
    AWSResponse DescribeSourceServers =
      DescribeSourceServersResponse
  request :: (Service -> Service)
-> DescribeSourceServers -> Request DescribeSourceServers
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeSourceServers
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeSourceServers)))
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 [SourceServer]
-> Maybe Text -> Int -> DescribeSourceServersResponse
DescribeSourceServersResponse'
            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
"items" 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.<*> (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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeSourceServers where
  hashWithSalt :: Int -> DescribeSourceServers -> Int
hashWithSalt Int
_salt DescribeSourceServers' {Maybe Natural
Maybe Text
Maybe DescribeSourceServersRequestFilters
nextToken :: Maybe Text
maxResults :: Maybe Natural
filters :: Maybe DescribeSourceServersRequestFilters
$sel:nextToken:DescribeSourceServers' :: DescribeSourceServers -> Maybe Text
$sel:maxResults:DescribeSourceServers' :: DescribeSourceServers -> Maybe Natural
$sel:filters:DescribeSourceServers' :: DescribeSourceServers -> Maybe DescribeSourceServersRequestFilters
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DescribeSourceServersRequestFilters
filters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken

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

instance Data.ToHeaders DescribeSourceServers where
  toHeaders :: DescribeSourceServers -> 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.ToJSON DescribeSourceServers where
  toJSON :: DescribeSourceServers -> Value
toJSON DescribeSourceServers' {Maybe Natural
Maybe Text
Maybe DescribeSourceServersRequestFilters
nextToken :: Maybe Text
maxResults :: Maybe Natural
filters :: Maybe DescribeSourceServersRequestFilters
$sel:nextToken:DescribeSourceServers' :: DescribeSourceServers -> Maybe Text
$sel:maxResults:DescribeSourceServers' :: DescribeSourceServers -> Maybe Natural
$sel:filters:DescribeSourceServers' :: DescribeSourceServers -> Maybe DescribeSourceServersRequestFilters
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"filters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DescribeSourceServersRequestFilters
filters,
            (Key
"maxResults" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxResults,
            (Key
"nextToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken
          ]
      )

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

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

-- | /See:/ 'newDescribeSourceServersResponse' smart constructor.
data DescribeSourceServersResponse = DescribeSourceServersResponse'
  { -- | Request to filter Source Servers list by item.
    DescribeSourceServersResponse -> Maybe [SourceServer]
items :: Prelude.Maybe [SourceServer],
    -- | Request to filter Source Servers next token.
    DescribeSourceServersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeSourceServersResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeSourceServersResponse
-> DescribeSourceServersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSourceServersResponse
-> DescribeSourceServersResponse -> Bool
$c/= :: DescribeSourceServersResponse
-> DescribeSourceServersResponse -> Bool
== :: DescribeSourceServersResponse
-> DescribeSourceServersResponse -> Bool
$c== :: DescribeSourceServersResponse
-> DescribeSourceServersResponse -> Bool
Prelude.Eq, Int -> DescribeSourceServersResponse -> ShowS
[DescribeSourceServersResponse] -> ShowS
DescribeSourceServersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSourceServersResponse] -> ShowS
$cshowList :: [DescribeSourceServersResponse] -> ShowS
show :: DescribeSourceServersResponse -> String
$cshow :: DescribeSourceServersResponse -> String
showsPrec :: Int -> DescribeSourceServersResponse -> ShowS
$cshowsPrec :: Int -> DescribeSourceServersResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeSourceServersResponse x
-> DescribeSourceServersResponse
forall x.
DescribeSourceServersResponse
-> Rep DescribeSourceServersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeSourceServersResponse x
-> DescribeSourceServersResponse
$cfrom :: forall x.
DescribeSourceServersResponse
-> Rep DescribeSourceServersResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeSourceServersResponse' 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', 'describeSourceServersResponse_items' - Request to filter Source Servers list by item.
--
-- 'nextToken', 'describeSourceServersResponse_nextToken' - Request to filter Source Servers next token.
--
-- 'httpStatus', 'describeSourceServersResponse_httpStatus' - The response's http status code.
newDescribeSourceServersResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeSourceServersResponse
newDescribeSourceServersResponse :: Int -> DescribeSourceServersResponse
newDescribeSourceServersResponse Int
pHttpStatus_ =
  DescribeSourceServersResponse'
    { $sel:items:DescribeSourceServersResponse' :: Maybe [SourceServer]
items =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:DescribeSourceServersResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeSourceServersResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Request to filter Source Servers list by item.
describeSourceServersResponse_items :: Lens.Lens' DescribeSourceServersResponse (Prelude.Maybe [SourceServer])
describeSourceServersResponse_items :: Lens' DescribeSourceServersResponse (Maybe [SourceServer])
describeSourceServersResponse_items = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSourceServersResponse' {Maybe [SourceServer]
items :: Maybe [SourceServer]
$sel:items:DescribeSourceServersResponse' :: DescribeSourceServersResponse -> Maybe [SourceServer]
items} -> Maybe [SourceServer]
items) (\s :: DescribeSourceServersResponse
s@DescribeSourceServersResponse' {} Maybe [SourceServer]
a -> DescribeSourceServersResponse
s {$sel:items:DescribeSourceServersResponse' :: Maybe [SourceServer]
items = Maybe [SourceServer]
a} :: DescribeSourceServersResponse) 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

-- | Request to filter Source Servers next token.
describeSourceServersResponse_nextToken :: Lens.Lens' DescribeSourceServersResponse (Prelude.Maybe Prelude.Text)
describeSourceServersResponse_nextToken :: Lens' DescribeSourceServersResponse (Maybe Text)
describeSourceServersResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSourceServersResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeSourceServersResponse' :: DescribeSourceServersResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeSourceServersResponse
s@DescribeSourceServersResponse' {} Maybe Text
a -> DescribeSourceServersResponse
s {$sel:nextToken:DescribeSourceServersResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeSourceServersResponse)

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

instance Prelude.NFData DescribeSourceServersResponse where
  rnf :: DescribeSourceServersResponse -> ()
rnf DescribeSourceServersResponse' {Int
Maybe [SourceServer]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
items :: Maybe [SourceServer]
$sel:httpStatus:DescribeSourceServersResponse' :: DescribeSourceServersResponse -> Int
$sel:nextToken:DescribeSourceServersResponse' :: DescribeSourceServersResponse -> Maybe Text
$sel:items:DescribeSourceServersResponse' :: DescribeSourceServersResponse -> Maybe [SourceServer]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [SourceServer]
items
      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 Int
httpStatus