{-# 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.DrS.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)
--
-- Lists all Source Servers or multiple Source Servers filtered by ID.
--
-- This operation returns paginated results.
module Amazonka.DrS.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.DrS.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'
  { -- | A set of filters by which to return Source Servers.
    DescribeSourceServers -> Maybe DescribeSourceServersRequestFilters
filters :: Prelude.Maybe DescribeSourceServersRequestFilters,
    -- | Maximum number of Source Servers to retrieve.
    DescribeSourceServers -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The token of the next Source Server to retrieve.
    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' - A set of filters by which to return Source Servers.
--
-- 'maxResults', 'describeSourceServers_maxResults' - Maximum number of Source Servers to retrieve.
--
-- 'nextToken', 'describeSourceServers_nextToken' - The token of the next Source Server to retrieve.
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
    }

-- | A set of filters by which to return Source Servers.
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)

-- | Maximum number of Source Servers to retrieve.
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)

-- | The token of the next Source Server to retrieve.
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'
  { -- | An array of Source Servers.
    DescribeSourceServersResponse -> Maybe [SourceServer]
items :: Prelude.Maybe [SourceServer],
    -- | The token of the next Source Server to retrieve.
    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' - An array of Source Servers.
--
-- 'nextToken', 'describeSourceServersResponse_nextToken' - The token of the next Source Server to retrieve.
--
-- '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_
    }

-- | An array of Source Servers.
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

-- | The token of the next Source Server to retrieve.
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