{-# 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.IoT.DescribeEndpoint
(
DescribeEndpoint (..),
newDescribeEndpoint,
describeEndpoint_endpointType,
DescribeEndpointResponse (..),
newDescribeEndpointResponse,
describeEndpointResponse_endpointAddress,
describeEndpointResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeEndpoint = DescribeEndpoint'
{
DescribeEndpoint -> Maybe Text
endpointType :: Prelude.Maybe Prelude.Text
}
deriving (DescribeEndpoint -> DescribeEndpoint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEndpoint -> DescribeEndpoint -> Bool
$c/= :: DescribeEndpoint -> DescribeEndpoint -> Bool
== :: DescribeEndpoint -> DescribeEndpoint -> Bool
$c== :: DescribeEndpoint -> DescribeEndpoint -> Bool
Prelude.Eq, ReadPrec [DescribeEndpoint]
ReadPrec DescribeEndpoint
Int -> ReadS DescribeEndpoint
ReadS [DescribeEndpoint]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEndpoint]
$creadListPrec :: ReadPrec [DescribeEndpoint]
readPrec :: ReadPrec DescribeEndpoint
$creadPrec :: ReadPrec DescribeEndpoint
readList :: ReadS [DescribeEndpoint]
$creadList :: ReadS [DescribeEndpoint]
readsPrec :: Int -> ReadS DescribeEndpoint
$creadsPrec :: Int -> ReadS DescribeEndpoint
Prelude.Read, Int -> DescribeEndpoint -> ShowS
[DescribeEndpoint] -> ShowS
DescribeEndpoint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEndpoint] -> ShowS
$cshowList :: [DescribeEndpoint] -> ShowS
show :: DescribeEndpoint -> String
$cshow :: DescribeEndpoint -> String
showsPrec :: Int -> DescribeEndpoint -> ShowS
$cshowsPrec :: Int -> DescribeEndpoint -> ShowS
Prelude.Show, forall x. Rep DescribeEndpoint x -> DescribeEndpoint
forall x. DescribeEndpoint -> Rep DescribeEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeEndpoint x -> DescribeEndpoint
$cfrom :: forall x. DescribeEndpoint -> Rep DescribeEndpoint x
Prelude.Generic)
newDescribeEndpoint ::
DescribeEndpoint
newDescribeEndpoint :: DescribeEndpoint
newDescribeEndpoint =
DescribeEndpoint' {$sel:endpointType:DescribeEndpoint' :: Maybe Text
endpointType = forall a. Maybe a
Prelude.Nothing}
describeEndpoint_endpointType :: Lens.Lens' DescribeEndpoint (Prelude.Maybe Prelude.Text)
describeEndpoint_endpointType :: Lens' DescribeEndpoint (Maybe Text)
describeEndpoint_endpointType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEndpoint' {Maybe Text
endpointType :: Maybe Text
$sel:endpointType:DescribeEndpoint' :: DescribeEndpoint -> Maybe Text
endpointType} -> Maybe Text
endpointType) (\s :: DescribeEndpoint
s@DescribeEndpoint' {} Maybe Text
a -> DescribeEndpoint
s {$sel:endpointType:DescribeEndpoint' :: Maybe Text
endpointType = Maybe Text
a} :: DescribeEndpoint)
instance Core.AWSRequest DescribeEndpoint where
type
AWSResponse DescribeEndpoint =
DescribeEndpointResponse
request :: (Service -> Service)
-> DescribeEndpoint -> Request DescribeEndpoint
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeEndpoint
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeEndpoint)))
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 Text -> Int -> DescribeEndpointResponse
DescribeEndpointResponse'
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
"endpointAddress")
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 DescribeEndpoint where
hashWithSalt :: Int -> DescribeEndpoint -> Int
hashWithSalt Int
_salt DescribeEndpoint' {Maybe Text
endpointType :: Maybe Text
$sel:endpointType:DescribeEndpoint' :: DescribeEndpoint -> Maybe Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
endpointType
instance Prelude.NFData DescribeEndpoint where
rnf :: DescribeEndpoint -> ()
rnf DescribeEndpoint' {Maybe Text
endpointType :: Maybe Text
$sel:endpointType:DescribeEndpoint' :: DescribeEndpoint -> Maybe Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
endpointType
instance Data.ToHeaders DescribeEndpoint where
toHeaders :: DescribeEndpoint -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeEndpoint where
toPath :: DescribeEndpoint -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/endpoint"
instance Data.ToQuery DescribeEndpoint where
toQuery :: DescribeEndpoint -> QueryString
toQuery DescribeEndpoint' {Maybe Text
endpointType :: Maybe Text
$sel:endpointType:DescribeEndpoint' :: DescribeEndpoint -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"endpointType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
endpointType]
data DescribeEndpointResponse = DescribeEndpointResponse'
{
DescribeEndpointResponse -> Maybe Text
endpointAddress :: Prelude.Maybe Prelude.Text,
DescribeEndpointResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeEndpointResponse -> DescribeEndpointResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeEndpointResponse -> DescribeEndpointResponse -> Bool
$c/= :: DescribeEndpointResponse -> DescribeEndpointResponse -> Bool
== :: DescribeEndpointResponse -> DescribeEndpointResponse -> Bool
$c== :: DescribeEndpointResponse -> DescribeEndpointResponse -> Bool
Prelude.Eq, ReadPrec [DescribeEndpointResponse]
ReadPrec DescribeEndpointResponse
Int -> ReadS DescribeEndpointResponse
ReadS [DescribeEndpointResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeEndpointResponse]
$creadListPrec :: ReadPrec [DescribeEndpointResponse]
readPrec :: ReadPrec DescribeEndpointResponse
$creadPrec :: ReadPrec DescribeEndpointResponse
readList :: ReadS [DescribeEndpointResponse]
$creadList :: ReadS [DescribeEndpointResponse]
readsPrec :: Int -> ReadS DescribeEndpointResponse
$creadsPrec :: Int -> ReadS DescribeEndpointResponse
Prelude.Read, Int -> DescribeEndpointResponse -> ShowS
[DescribeEndpointResponse] -> ShowS
DescribeEndpointResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeEndpointResponse] -> ShowS
$cshowList :: [DescribeEndpointResponse] -> ShowS
show :: DescribeEndpointResponse -> String
$cshow :: DescribeEndpointResponse -> String
showsPrec :: Int -> DescribeEndpointResponse -> ShowS
$cshowsPrec :: Int -> DescribeEndpointResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeEndpointResponse x -> DescribeEndpointResponse
forall x.
DescribeEndpointResponse -> Rep DescribeEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeEndpointResponse x -> DescribeEndpointResponse
$cfrom :: forall x.
DescribeEndpointResponse -> Rep DescribeEndpointResponse x
Prelude.Generic)
newDescribeEndpointResponse ::
Prelude.Int ->
DescribeEndpointResponse
newDescribeEndpointResponse :: Int -> DescribeEndpointResponse
newDescribeEndpointResponse Int
pHttpStatus_ =
DescribeEndpointResponse'
{ $sel:endpointAddress:DescribeEndpointResponse' :: Maybe Text
endpointAddress =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeEndpointResponse_endpointAddress :: Lens.Lens' DescribeEndpointResponse (Prelude.Maybe Prelude.Text)
describeEndpointResponse_endpointAddress :: Lens' DescribeEndpointResponse (Maybe Text)
describeEndpointResponse_endpointAddress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEndpointResponse' {Maybe Text
endpointAddress :: Maybe Text
$sel:endpointAddress:DescribeEndpointResponse' :: DescribeEndpointResponse -> Maybe Text
endpointAddress} -> Maybe Text
endpointAddress) (\s :: DescribeEndpointResponse
s@DescribeEndpointResponse' {} Maybe Text
a -> DescribeEndpointResponse
s {$sel:endpointAddress:DescribeEndpointResponse' :: Maybe Text
endpointAddress = Maybe Text
a} :: DescribeEndpointResponse)
describeEndpointResponse_httpStatus :: Lens.Lens' DescribeEndpointResponse Prelude.Int
describeEndpointResponse_httpStatus :: Lens' DescribeEndpointResponse Int
describeEndpointResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeEndpointResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeEndpointResponse' :: DescribeEndpointResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeEndpointResponse
s@DescribeEndpointResponse' {} Int
a -> DescribeEndpointResponse
s {$sel:httpStatus:DescribeEndpointResponse' :: Int
httpStatus = Int
a} :: DescribeEndpointResponse)
instance Prelude.NFData DescribeEndpointResponse where
rnf :: DescribeEndpointResponse -> ()
rnf DescribeEndpointResponse' {Int
Maybe Text
httpStatus :: Int
endpointAddress :: Maybe Text
$sel:httpStatus:DescribeEndpointResponse' :: DescribeEndpointResponse -> Int
$sel:endpointAddress:DescribeEndpointResponse' :: DescribeEndpointResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
endpointAddress
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus