{-# 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.DirectConnect.DescribeLags
(
DescribeLags (..),
newDescribeLags,
describeLags_lagId,
DescribeLagsResponse (..),
newDescribeLagsResponse,
describeLagsResponse_lags,
describeLagsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DirectConnect.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeLags = DescribeLags'
{
DescribeLags -> Maybe Text
lagId :: Prelude.Maybe Prelude.Text
}
deriving (DescribeLags -> DescribeLags -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLags -> DescribeLags -> Bool
$c/= :: DescribeLags -> DescribeLags -> Bool
== :: DescribeLags -> DescribeLags -> Bool
$c== :: DescribeLags -> DescribeLags -> Bool
Prelude.Eq, ReadPrec [DescribeLags]
ReadPrec DescribeLags
Int -> ReadS DescribeLags
ReadS [DescribeLags]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLags]
$creadListPrec :: ReadPrec [DescribeLags]
readPrec :: ReadPrec DescribeLags
$creadPrec :: ReadPrec DescribeLags
readList :: ReadS [DescribeLags]
$creadList :: ReadS [DescribeLags]
readsPrec :: Int -> ReadS DescribeLags
$creadsPrec :: Int -> ReadS DescribeLags
Prelude.Read, Int -> DescribeLags -> ShowS
[DescribeLags] -> ShowS
DescribeLags -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLags] -> ShowS
$cshowList :: [DescribeLags] -> ShowS
show :: DescribeLags -> String
$cshow :: DescribeLags -> String
showsPrec :: Int -> DescribeLags -> ShowS
$cshowsPrec :: Int -> DescribeLags -> ShowS
Prelude.Show, forall x. Rep DescribeLags x -> DescribeLags
forall x. DescribeLags -> Rep DescribeLags x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeLags x -> DescribeLags
$cfrom :: forall x. DescribeLags -> Rep DescribeLags x
Prelude.Generic)
newDescribeLags ::
DescribeLags
newDescribeLags :: DescribeLags
newDescribeLags =
DescribeLags' {$sel:lagId:DescribeLags' :: Maybe Text
lagId = forall a. Maybe a
Prelude.Nothing}
describeLags_lagId :: Lens.Lens' DescribeLags (Prelude.Maybe Prelude.Text)
describeLags_lagId :: Lens' DescribeLags (Maybe Text)
describeLags_lagId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLags' {Maybe Text
lagId :: Maybe Text
$sel:lagId:DescribeLags' :: DescribeLags -> Maybe Text
lagId} -> Maybe Text
lagId) (\s :: DescribeLags
s@DescribeLags' {} Maybe Text
a -> DescribeLags
s {$sel:lagId:DescribeLags' :: Maybe Text
lagId = Maybe Text
a} :: DescribeLags)
instance Core.AWSRequest DescribeLags where
type AWSResponse DescribeLags = DescribeLagsResponse
request :: (Service -> Service) -> DescribeLags -> Request DescribeLags
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 DescribeLags
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeLags)))
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 [Lag] -> Int -> DescribeLagsResponse
DescribeLagsResponse'
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
"lags" 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 DescribeLags where
hashWithSalt :: Int -> DescribeLags -> Int
hashWithSalt Int
_salt DescribeLags' {Maybe Text
lagId :: Maybe Text
$sel:lagId:DescribeLags' :: DescribeLags -> Maybe Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
lagId
instance Prelude.NFData DescribeLags where
rnf :: DescribeLags -> ()
rnf DescribeLags' {Maybe Text
lagId :: Maybe Text
$sel:lagId:DescribeLags' :: DescribeLags -> Maybe Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
lagId
instance Data.ToHeaders DescribeLags where
toHeaders :: DescribeLags -> 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
"OvertureService.DescribeLags" ::
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 DescribeLags where
toJSON :: DescribeLags -> Value
toJSON DescribeLags' {Maybe Text
lagId :: Maybe Text
$sel:lagId:DescribeLags' :: DescribeLags -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[(Key
"lagId" 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
lagId]
)
instance Data.ToPath DescribeLags where
toPath :: DescribeLags -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeLags where
toQuery :: DescribeLags -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeLagsResponse = DescribeLagsResponse'
{
DescribeLagsResponse -> Maybe [Lag]
lags :: Prelude.Maybe [Lag],
DescribeLagsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeLagsResponse -> DescribeLagsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLagsResponse -> DescribeLagsResponse -> Bool
$c/= :: DescribeLagsResponse -> DescribeLagsResponse -> Bool
== :: DescribeLagsResponse -> DescribeLagsResponse -> Bool
$c== :: DescribeLagsResponse -> DescribeLagsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeLagsResponse]
ReadPrec DescribeLagsResponse
Int -> ReadS DescribeLagsResponse
ReadS [DescribeLagsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLagsResponse]
$creadListPrec :: ReadPrec [DescribeLagsResponse]
readPrec :: ReadPrec DescribeLagsResponse
$creadPrec :: ReadPrec DescribeLagsResponse
readList :: ReadS [DescribeLagsResponse]
$creadList :: ReadS [DescribeLagsResponse]
readsPrec :: Int -> ReadS DescribeLagsResponse
$creadsPrec :: Int -> ReadS DescribeLagsResponse
Prelude.Read, Int -> DescribeLagsResponse -> ShowS
[DescribeLagsResponse] -> ShowS
DescribeLagsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLagsResponse] -> ShowS
$cshowList :: [DescribeLagsResponse] -> ShowS
show :: DescribeLagsResponse -> String
$cshow :: DescribeLagsResponse -> String
showsPrec :: Int -> DescribeLagsResponse -> ShowS
$cshowsPrec :: Int -> DescribeLagsResponse -> ShowS
Prelude.Show, forall x. Rep DescribeLagsResponse x -> DescribeLagsResponse
forall x. DescribeLagsResponse -> Rep DescribeLagsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeLagsResponse x -> DescribeLagsResponse
$cfrom :: forall x. DescribeLagsResponse -> Rep DescribeLagsResponse x
Prelude.Generic)
newDescribeLagsResponse ::
Prelude.Int ->
DescribeLagsResponse
newDescribeLagsResponse :: Int -> DescribeLagsResponse
newDescribeLagsResponse Int
pHttpStatus_ =
DescribeLagsResponse'
{ $sel:lags:DescribeLagsResponse' :: Maybe [Lag]
lags = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeLagsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeLagsResponse_lags :: Lens.Lens' DescribeLagsResponse (Prelude.Maybe [Lag])
describeLagsResponse_lags :: Lens' DescribeLagsResponse (Maybe [Lag])
describeLagsResponse_lags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLagsResponse' {Maybe [Lag]
lags :: Maybe [Lag]
$sel:lags:DescribeLagsResponse' :: DescribeLagsResponse -> Maybe [Lag]
lags} -> Maybe [Lag]
lags) (\s :: DescribeLagsResponse
s@DescribeLagsResponse' {} Maybe [Lag]
a -> DescribeLagsResponse
s {$sel:lags:DescribeLagsResponse' :: Maybe [Lag]
lags = Maybe [Lag]
a} :: DescribeLagsResponse) 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
describeLagsResponse_httpStatus :: Lens.Lens' DescribeLagsResponse Prelude.Int
describeLagsResponse_httpStatus :: Lens' DescribeLagsResponse Int
describeLagsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLagsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeLagsResponse' :: DescribeLagsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeLagsResponse
s@DescribeLagsResponse' {} Int
a -> DescribeLagsResponse
s {$sel:httpStatus:DescribeLagsResponse' :: Int
httpStatus = Int
a} :: DescribeLagsResponse)
instance Prelude.NFData DescribeLagsResponse where
rnf :: DescribeLagsResponse -> ()
rnf DescribeLagsResponse' {Int
Maybe [Lag]
httpStatus :: Int
lags :: Maybe [Lag]
$sel:httpStatus:DescribeLagsResponse' :: DescribeLagsResponse -> Int
$sel:lags:DescribeLagsResponse' :: DescribeLagsResponse -> Maybe [Lag]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Lag]
lags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus