{-# 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 #-}
module Amazonka.MGN.DescribeSourceServers
(
DescribeSourceServers (..),
newDescribeSourceServers,
describeSourceServers_filters,
describeSourceServers_maxResults,
describeSourceServers_nextToken,
DescribeSourceServersResponse (..),
newDescribeSourceServersResponse,
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
data DescribeSourceServers = DescribeSourceServers'
{
DescribeSourceServers -> Maybe DescribeSourceServersRequestFilters
filters :: Prelude.Maybe DescribeSourceServersRequestFilters,
DescribeSourceServers -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
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)
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
}
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)
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)
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
data DescribeSourceServersResponse = DescribeSourceServersResponse'
{
DescribeSourceServersResponse -> Maybe [SourceServer]
items :: Prelude.Maybe [SourceServer],
DescribeSourceServersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
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)
newDescribeSourceServersResponse ::
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_
}
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
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)
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