{-# 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.DescribeInterconnects
(
DescribeInterconnects (..),
newDescribeInterconnects,
describeInterconnects_interconnectId,
DescribeInterconnectsResponse (..),
newDescribeInterconnectsResponse,
describeInterconnectsResponse_interconnects,
describeInterconnectsResponse_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 DescribeInterconnects = DescribeInterconnects'
{
DescribeInterconnects -> Maybe Text
interconnectId :: Prelude.Maybe Prelude.Text
}
deriving (DescribeInterconnects -> DescribeInterconnects -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInterconnects -> DescribeInterconnects -> Bool
$c/= :: DescribeInterconnects -> DescribeInterconnects -> Bool
== :: DescribeInterconnects -> DescribeInterconnects -> Bool
$c== :: DescribeInterconnects -> DescribeInterconnects -> Bool
Prelude.Eq, ReadPrec [DescribeInterconnects]
ReadPrec DescribeInterconnects
Int -> ReadS DescribeInterconnects
ReadS [DescribeInterconnects]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInterconnects]
$creadListPrec :: ReadPrec [DescribeInterconnects]
readPrec :: ReadPrec DescribeInterconnects
$creadPrec :: ReadPrec DescribeInterconnects
readList :: ReadS [DescribeInterconnects]
$creadList :: ReadS [DescribeInterconnects]
readsPrec :: Int -> ReadS DescribeInterconnects
$creadsPrec :: Int -> ReadS DescribeInterconnects
Prelude.Read, Int -> DescribeInterconnects -> ShowS
[DescribeInterconnects] -> ShowS
DescribeInterconnects -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInterconnects] -> ShowS
$cshowList :: [DescribeInterconnects] -> ShowS
show :: DescribeInterconnects -> String
$cshow :: DescribeInterconnects -> String
showsPrec :: Int -> DescribeInterconnects -> ShowS
$cshowsPrec :: Int -> DescribeInterconnects -> ShowS
Prelude.Show, forall x. Rep DescribeInterconnects x -> DescribeInterconnects
forall x. DescribeInterconnects -> Rep DescribeInterconnects x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeInterconnects x -> DescribeInterconnects
$cfrom :: forall x. DescribeInterconnects -> Rep DescribeInterconnects x
Prelude.Generic)
newDescribeInterconnects ::
DescribeInterconnects
newDescribeInterconnects :: DescribeInterconnects
newDescribeInterconnects =
DescribeInterconnects'
{ $sel:interconnectId:DescribeInterconnects' :: Maybe Text
interconnectId =
forall a. Maybe a
Prelude.Nothing
}
describeInterconnects_interconnectId :: Lens.Lens' DescribeInterconnects (Prelude.Maybe Prelude.Text)
describeInterconnects_interconnectId :: Lens' DescribeInterconnects (Maybe Text)
describeInterconnects_interconnectId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInterconnects' {Maybe Text
interconnectId :: Maybe Text
$sel:interconnectId:DescribeInterconnects' :: DescribeInterconnects -> Maybe Text
interconnectId} -> Maybe Text
interconnectId) (\s :: DescribeInterconnects
s@DescribeInterconnects' {} Maybe Text
a -> DescribeInterconnects
s {$sel:interconnectId:DescribeInterconnects' :: Maybe Text
interconnectId = Maybe Text
a} :: DescribeInterconnects)
instance Core.AWSRequest DescribeInterconnects where
type
AWSResponse DescribeInterconnects =
DescribeInterconnectsResponse
request :: (Service -> Service)
-> DescribeInterconnects -> Request DescribeInterconnects
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 DescribeInterconnects
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeInterconnects)))
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 [Interconnect] -> Int -> DescribeInterconnectsResponse
DescribeInterconnectsResponse'
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
"interconnects" 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 DescribeInterconnects where
hashWithSalt :: Int -> DescribeInterconnects -> Int
hashWithSalt Int
_salt DescribeInterconnects' {Maybe Text
interconnectId :: Maybe Text
$sel:interconnectId:DescribeInterconnects' :: DescribeInterconnects -> Maybe Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
interconnectId
instance Prelude.NFData DescribeInterconnects where
rnf :: DescribeInterconnects -> ()
rnf DescribeInterconnects' {Maybe Text
interconnectId :: Maybe Text
$sel:interconnectId:DescribeInterconnects' :: DescribeInterconnects -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
interconnectId
instance Data.ToHeaders DescribeInterconnects where
toHeaders :: DescribeInterconnects -> 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.DescribeInterconnects" ::
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 DescribeInterconnects where
toJSON :: DescribeInterconnects -> Value
toJSON DescribeInterconnects' {Maybe Text
interconnectId :: Maybe Text
$sel:interconnectId:DescribeInterconnects' :: DescribeInterconnects -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"interconnectId" 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
interconnectId
]
)
instance Data.ToPath DescribeInterconnects where
toPath :: DescribeInterconnects -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeInterconnects where
toQuery :: DescribeInterconnects -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeInterconnectsResponse = DescribeInterconnectsResponse'
{
DescribeInterconnectsResponse -> Maybe [Interconnect]
interconnects :: Prelude.Maybe [Interconnect],
DescribeInterconnectsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeInterconnectsResponse
-> DescribeInterconnectsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInterconnectsResponse
-> DescribeInterconnectsResponse -> Bool
$c/= :: DescribeInterconnectsResponse
-> DescribeInterconnectsResponse -> Bool
== :: DescribeInterconnectsResponse
-> DescribeInterconnectsResponse -> Bool
$c== :: DescribeInterconnectsResponse
-> DescribeInterconnectsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeInterconnectsResponse]
ReadPrec DescribeInterconnectsResponse
Int -> ReadS DescribeInterconnectsResponse
ReadS [DescribeInterconnectsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInterconnectsResponse]
$creadListPrec :: ReadPrec [DescribeInterconnectsResponse]
readPrec :: ReadPrec DescribeInterconnectsResponse
$creadPrec :: ReadPrec DescribeInterconnectsResponse
readList :: ReadS [DescribeInterconnectsResponse]
$creadList :: ReadS [DescribeInterconnectsResponse]
readsPrec :: Int -> ReadS DescribeInterconnectsResponse
$creadsPrec :: Int -> ReadS DescribeInterconnectsResponse
Prelude.Read, Int -> DescribeInterconnectsResponse -> ShowS
[DescribeInterconnectsResponse] -> ShowS
DescribeInterconnectsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInterconnectsResponse] -> ShowS
$cshowList :: [DescribeInterconnectsResponse] -> ShowS
show :: DescribeInterconnectsResponse -> String
$cshow :: DescribeInterconnectsResponse -> String
showsPrec :: Int -> DescribeInterconnectsResponse -> ShowS
$cshowsPrec :: Int -> DescribeInterconnectsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeInterconnectsResponse x
-> DescribeInterconnectsResponse
forall x.
DescribeInterconnectsResponse
-> Rep DescribeInterconnectsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeInterconnectsResponse x
-> DescribeInterconnectsResponse
$cfrom :: forall x.
DescribeInterconnectsResponse
-> Rep DescribeInterconnectsResponse x
Prelude.Generic)
newDescribeInterconnectsResponse ::
Prelude.Int ->
DescribeInterconnectsResponse
newDescribeInterconnectsResponse :: Int -> DescribeInterconnectsResponse
newDescribeInterconnectsResponse Int
pHttpStatus_ =
DescribeInterconnectsResponse'
{ $sel:interconnects:DescribeInterconnectsResponse' :: Maybe [Interconnect]
interconnects =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeInterconnectsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeInterconnectsResponse_interconnects :: Lens.Lens' DescribeInterconnectsResponse (Prelude.Maybe [Interconnect])
describeInterconnectsResponse_interconnects :: Lens' DescribeInterconnectsResponse (Maybe [Interconnect])
describeInterconnectsResponse_interconnects = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInterconnectsResponse' {Maybe [Interconnect]
interconnects :: Maybe [Interconnect]
$sel:interconnects:DescribeInterconnectsResponse' :: DescribeInterconnectsResponse -> Maybe [Interconnect]
interconnects} -> Maybe [Interconnect]
interconnects) (\s :: DescribeInterconnectsResponse
s@DescribeInterconnectsResponse' {} Maybe [Interconnect]
a -> DescribeInterconnectsResponse
s {$sel:interconnects:DescribeInterconnectsResponse' :: Maybe [Interconnect]
interconnects = Maybe [Interconnect]
a} :: DescribeInterconnectsResponse) 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
describeInterconnectsResponse_httpStatus :: Lens.Lens' DescribeInterconnectsResponse Prelude.Int
describeInterconnectsResponse_httpStatus :: Lens' DescribeInterconnectsResponse Int
describeInterconnectsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInterconnectsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeInterconnectsResponse' :: DescribeInterconnectsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeInterconnectsResponse
s@DescribeInterconnectsResponse' {} Int
a -> DescribeInterconnectsResponse
s {$sel:httpStatus:DescribeInterconnectsResponse' :: Int
httpStatus = Int
a} :: DescribeInterconnectsResponse)
instance Prelude.NFData DescribeInterconnectsResponse where
rnf :: DescribeInterconnectsResponse -> ()
rnf DescribeInterconnectsResponse' {Int
Maybe [Interconnect]
httpStatus :: Int
interconnects :: Maybe [Interconnect]
$sel:httpStatus:DescribeInterconnectsResponse' :: DescribeInterconnectsResponse -> Int
$sel:interconnects:DescribeInterconnectsResponse' :: DescribeInterconnectsResponse -> Maybe [Interconnect]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Interconnect]
interconnects
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus