{-# 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.Lightsail.GetLoadBalancers
(
GetLoadBalancers (..),
newGetLoadBalancers,
getLoadBalancers_pageToken,
GetLoadBalancersResponse (..),
newGetLoadBalancersResponse,
getLoadBalancersResponse_loadBalancers,
getLoadBalancersResponse_nextPageToken,
getLoadBalancersResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Lightsail.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetLoadBalancers = GetLoadBalancers'
{
GetLoadBalancers -> Maybe Text
pageToken :: Prelude.Maybe Prelude.Text
}
deriving (GetLoadBalancers -> GetLoadBalancers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetLoadBalancers -> GetLoadBalancers -> Bool
$c/= :: GetLoadBalancers -> GetLoadBalancers -> Bool
== :: GetLoadBalancers -> GetLoadBalancers -> Bool
$c== :: GetLoadBalancers -> GetLoadBalancers -> Bool
Prelude.Eq, ReadPrec [GetLoadBalancers]
ReadPrec GetLoadBalancers
Int -> ReadS GetLoadBalancers
ReadS [GetLoadBalancers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetLoadBalancers]
$creadListPrec :: ReadPrec [GetLoadBalancers]
readPrec :: ReadPrec GetLoadBalancers
$creadPrec :: ReadPrec GetLoadBalancers
readList :: ReadS [GetLoadBalancers]
$creadList :: ReadS [GetLoadBalancers]
readsPrec :: Int -> ReadS GetLoadBalancers
$creadsPrec :: Int -> ReadS GetLoadBalancers
Prelude.Read, Int -> GetLoadBalancers -> ShowS
[GetLoadBalancers] -> ShowS
GetLoadBalancers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetLoadBalancers] -> ShowS
$cshowList :: [GetLoadBalancers] -> ShowS
show :: GetLoadBalancers -> String
$cshow :: GetLoadBalancers -> String
showsPrec :: Int -> GetLoadBalancers -> ShowS
$cshowsPrec :: Int -> GetLoadBalancers -> ShowS
Prelude.Show, forall x. Rep GetLoadBalancers x -> GetLoadBalancers
forall x. GetLoadBalancers -> Rep GetLoadBalancers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetLoadBalancers x -> GetLoadBalancers
$cfrom :: forall x. GetLoadBalancers -> Rep GetLoadBalancers x
Prelude.Generic)
newGetLoadBalancers ::
GetLoadBalancers
newGetLoadBalancers :: GetLoadBalancers
newGetLoadBalancers =
GetLoadBalancers' {$sel:pageToken:GetLoadBalancers' :: Maybe Text
pageToken = forall a. Maybe a
Prelude.Nothing}
getLoadBalancers_pageToken :: Lens.Lens' GetLoadBalancers (Prelude.Maybe Prelude.Text)
getLoadBalancers_pageToken :: Lens' GetLoadBalancers (Maybe Text)
getLoadBalancers_pageToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLoadBalancers' {Maybe Text
pageToken :: Maybe Text
$sel:pageToken:GetLoadBalancers' :: GetLoadBalancers -> Maybe Text
pageToken} -> Maybe Text
pageToken) (\s :: GetLoadBalancers
s@GetLoadBalancers' {} Maybe Text
a -> GetLoadBalancers
s {$sel:pageToken:GetLoadBalancers' :: Maybe Text
pageToken = Maybe Text
a} :: GetLoadBalancers)
instance Core.AWSPager GetLoadBalancers where
page :: GetLoadBalancers
-> AWSResponse GetLoadBalancers -> Maybe GetLoadBalancers
page GetLoadBalancers
rq AWSResponse GetLoadBalancers
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse GetLoadBalancers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetLoadBalancersResponse (Maybe Text)
getLoadBalancersResponse_nextPageToken
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 GetLoadBalancers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetLoadBalancersResponse (Maybe [LoadBalancer])
getLoadBalancersResponse_loadBalancers
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.$ GetLoadBalancers
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' GetLoadBalancers (Maybe Text)
getLoadBalancers_pageToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse GetLoadBalancers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetLoadBalancersResponse (Maybe Text)
getLoadBalancersResponse_nextPageToken
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 GetLoadBalancers where
type
AWSResponse GetLoadBalancers =
GetLoadBalancersResponse
request :: (Service -> Service)
-> GetLoadBalancers -> Request GetLoadBalancers
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 GetLoadBalancers
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetLoadBalancers)))
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 [LoadBalancer]
-> Maybe Text -> Int -> GetLoadBalancersResponse
GetLoadBalancersResponse'
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
"loadBalancers" 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
"nextPageToken")
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 GetLoadBalancers where
hashWithSalt :: Int -> GetLoadBalancers -> Int
hashWithSalt Int
_salt GetLoadBalancers' {Maybe Text
pageToken :: Maybe Text
$sel:pageToken:GetLoadBalancers' :: GetLoadBalancers -> Maybe Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pageToken
instance Prelude.NFData GetLoadBalancers where
rnf :: GetLoadBalancers -> ()
rnf GetLoadBalancers' {Maybe Text
pageToken :: Maybe Text
$sel:pageToken:GetLoadBalancers' :: GetLoadBalancers -> Maybe Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pageToken
instance Data.ToHeaders GetLoadBalancers where
toHeaders :: GetLoadBalancers -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"Lightsail_20161128.GetLoadBalancers" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetLoadBalancers where
toJSON :: GetLoadBalancers -> Value
toJSON GetLoadBalancers' {Maybe Text
pageToken :: Maybe Text
$sel:pageToken:GetLoadBalancers' :: GetLoadBalancers -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[(Key
"pageToken" 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
pageToken]
)
instance Data.ToPath GetLoadBalancers where
toPath :: GetLoadBalancers -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetLoadBalancers where
toQuery :: GetLoadBalancers -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetLoadBalancersResponse = GetLoadBalancersResponse'
{
GetLoadBalancersResponse -> Maybe [LoadBalancer]
loadBalancers :: Prelude.Maybe [LoadBalancer],
GetLoadBalancersResponse -> Maybe Text
nextPageToken :: Prelude.Maybe Prelude.Text,
GetLoadBalancersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetLoadBalancersResponse -> GetLoadBalancersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetLoadBalancersResponse -> GetLoadBalancersResponse -> Bool
$c/= :: GetLoadBalancersResponse -> GetLoadBalancersResponse -> Bool
== :: GetLoadBalancersResponse -> GetLoadBalancersResponse -> Bool
$c== :: GetLoadBalancersResponse -> GetLoadBalancersResponse -> Bool
Prelude.Eq, ReadPrec [GetLoadBalancersResponse]
ReadPrec GetLoadBalancersResponse
Int -> ReadS GetLoadBalancersResponse
ReadS [GetLoadBalancersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetLoadBalancersResponse]
$creadListPrec :: ReadPrec [GetLoadBalancersResponse]
readPrec :: ReadPrec GetLoadBalancersResponse
$creadPrec :: ReadPrec GetLoadBalancersResponse
readList :: ReadS [GetLoadBalancersResponse]
$creadList :: ReadS [GetLoadBalancersResponse]
readsPrec :: Int -> ReadS GetLoadBalancersResponse
$creadsPrec :: Int -> ReadS GetLoadBalancersResponse
Prelude.Read, Int -> GetLoadBalancersResponse -> ShowS
[GetLoadBalancersResponse] -> ShowS
GetLoadBalancersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetLoadBalancersResponse] -> ShowS
$cshowList :: [GetLoadBalancersResponse] -> ShowS
show :: GetLoadBalancersResponse -> String
$cshow :: GetLoadBalancersResponse -> String
showsPrec :: Int -> GetLoadBalancersResponse -> ShowS
$cshowsPrec :: Int -> GetLoadBalancersResponse -> ShowS
Prelude.Show, forall x.
Rep GetLoadBalancersResponse x -> GetLoadBalancersResponse
forall x.
GetLoadBalancersResponse -> Rep GetLoadBalancersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetLoadBalancersResponse x -> GetLoadBalancersResponse
$cfrom :: forall x.
GetLoadBalancersResponse -> Rep GetLoadBalancersResponse x
Prelude.Generic)
newGetLoadBalancersResponse ::
Prelude.Int ->
GetLoadBalancersResponse
newGetLoadBalancersResponse :: Int -> GetLoadBalancersResponse
newGetLoadBalancersResponse Int
pHttpStatus_ =
GetLoadBalancersResponse'
{ $sel:loadBalancers:GetLoadBalancersResponse' :: Maybe [LoadBalancer]
loadBalancers =
forall a. Maybe a
Prelude.Nothing,
$sel:nextPageToken:GetLoadBalancersResponse' :: Maybe Text
nextPageToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetLoadBalancersResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getLoadBalancersResponse_loadBalancers :: Lens.Lens' GetLoadBalancersResponse (Prelude.Maybe [LoadBalancer])
getLoadBalancersResponse_loadBalancers :: Lens' GetLoadBalancersResponse (Maybe [LoadBalancer])
getLoadBalancersResponse_loadBalancers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLoadBalancersResponse' {Maybe [LoadBalancer]
loadBalancers :: Maybe [LoadBalancer]
$sel:loadBalancers:GetLoadBalancersResponse' :: GetLoadBalancersResponse -> Maybe [LoadBalancer]
loadBalancers} -> Maybe [LoadBalancer]
loadBalancers) (\s :: GetLoadBalancersResponse
s@GetLoadBalancersResponse' {} Maybe [LoadBalancer]
a -> GetLoadBalancersResponse
s {$sel:loadBalancers:GetLoadBalancersResponse' :: Maybe [LoadBalancer]
loadBalancers = Maybe [LoadBalancer]
a} :: GetLoadBalancersResponse) 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
getLoadBalancersResponse_nextPageToken :: Lens.Lens' GetLoadBalancersResponse (Prelude.Maybe Prelude.Text)
getLoadBalancersResponse_nextPageToken :: Lens' GetLoadBalancersResponse (Maybe Text)
getLoadBalancersResponse_nextPageToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLoadBalancersResponse' {Maybe Text
nextPageToken :: Maybe Text
$sel:nextPageToken:GetLoadBalancersResponse' :: GetLoadBalancersResponse -> Maybe Text
nextPageToken} -> Maybe Text
nextPageToken) (\s :: GetLoadBalancersResponse
s@GetLoadBalancersResponse' {} Maybe Text
a -> GetLoadBalancersResponse
s {$sel:nextPageToken:GetLoadBalancersResponse' :: Maybe Text
nextPageToken = Maybe Text
a} :: GetLoadBalancersResponse)
getLoadBalancersResponse_httpStatus :: Lens.Lens' GetLoadBalancersResponse Prelude.Int
getLoadBalancersResponse_httpStatus :: Lens' GetLoadBalancersResponse Int
getLoadBalancersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLoadBalancersResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetLoadBalancersResponse' :: GetLoadBalancersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetLoadBalancersResponse
s@GetLoadBalancersResponse' {} Int
a -> GetLoadBalancersResponse
s {$sel:httpStatus:GetLoadBalancersResponse' :: Int
httpStatus = Int
a} :: GetLoadBalancersResponse)
instance Prelude.NFData GetLoadBalancersResponse where
rnf :: GetLoadBalancersResponse -> ()
rnf GetLoadBalancersResponse' {Int
Maybe [LoadBalancer]
Maybe Text
httpStatus :: Int
nextPageToken :: Maybe Text
loadBalancers :: Maybe [LoadBalancer]
$sel:httpStatus:GetLoadBalancersResponse' :: GetLoadBalancersResponse -> Int
$sel:nextPageToken:GetLoadBalancersResponse' :: GetLoadBalancersResponse -> Maybe Text
$sel:loadBalancers:GetLoadBalancersResponse' :: GetLoadBalancersResponse -> Maybe [LoadBalancer]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [LoadBalancer]
loadBalancers
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextPageToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus