{-# 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.IoTEventsData.DescribeAlarm
(
DescribeAlarm (..),
newDescribeAlarm,
describeAlarm_keyValue,
describeAlarm_alarmModelName,
DescribeAlarmResponse (..),
newDescribeAlarmResponse,
describeAlarmResponse_alarm,
describeAlarmResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTEventsData.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeAlarm = DescribeAlarm'
{
DescribeAlarm -> Maybe Text
keyValue :: Prelude.Maybe Prelude.Text,
DescribeAlarm -> Text
alarmModelName :: Prelude.Text
}
deriving (DescribeAlarm -> DescribeAlarm -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAlarm -> DescribeAlarm -> Bool
$c/= :: DescribeAlarm -> DescribeAlarm -> Bool
== :: DescribeAlarm -> DescribeAlarm -> Bool
$c== :: DescribeAlarm -> DescribeAlarm -> Bool
Prelude.Eq, ReadPrec [DescribeAlarm]
ReadPrec DescribeAlarm
Int -> ReadS DescribeAlarm
ReadS [DescribeAlarm]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAlarm]
$creadListPrec :: ReadPrec [DescribeAlarm]
readPrec :: ReadPrec DescribeAlarm
$creadPrec :: ReadPrec DescribeAlarm
readList :: ReadS [DescribeAlarm]
$creadList :: ReadS [DescribeAlarm]
readsPrec :: Int -> ReadS DescribeAlarm
$creadsPrec :: Int -> ReadS DescribeAlarm
Prelude.Read, Int -> DescribeAlarm -> ShowS
[DescribeAlarm] -> ShowS
DescribeAlarm -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAlarm] -> ShowS
$cshowList :: [DescribeAlarm] -> ShowS
show :: DescribeAlarm -> String
$cshow :: DescribeAlarm -> String
showsPrec :: Int -> DescribeAlarm -> ShowS
$cshowsPrec :: Int -> DescribeAlarm -> ShowS
Prelude.Show, forall x. Rep DescribeAlarm x -> DescribeAlarm
forall x. DescribeAlarm -> Rep DescribeAlarm x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAlarm x -> DescribeAlarm
$cfrom :: forall x. DescribeAlarm -> Rep DescribeAlarm x
Prelude.Generic)
newDescribeAlarm ::
Prelude.Text ->
DescribeAlarm
newDescribeAlarm :: Text -> DescribeAlarm
newDescribeAlarm Text
pAlarmModelName_ =
DescribeAlarm'
{ $sel:keyValue:DescribeAlarm' :: Maybe Text
keyValue = forall a. Maybe a
Prelude.Nothing,
$sel:alarmModelName:DescribeAlarm' :: Text
alarmModelName = Text
pAlarmModelName_
}
describeAlarm_keyValue :: Lens.Lens' DescribeAlarm (Prelude.Maybe Prelude.Text)
describeAlarm_keyValue :: Lens' DescribeAlarm (Maybe Text)
describeAlarm_keyValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarm' {Maybe Text
keyValue :: Maybe Text
$sel:keyValue:DescribeAlarm' :: DescribeAlarm -> Maybe Text
keyValue} -> Maybe Text
keyValue) (\s :: DescribeAlarm
s@DescribeAlarm' {} Maybe Text
a -> DescribeAlarm
s {$sel:keyValue:DescribeAlarm' :: Maybe Text
keyValue = Maybe Text
a} :: DescribeAlarm)
describeAlarm_alarmModelName :: Lens.Lens' DescribeAlarm Prelude.Text
describeAlarm_alarmModelName :: Lens' DescribeAlarm Text
describeAlarm_alarmModelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarm' {Text
alarmModelName :: Text
$sel:alarmModelName:DescribeAlarm' :: DescribeAlarm -> Text
alarmModelName} -> Text
alarmModelName) (\s :: DescribeAlarm
s@DescribeAlarm' {} Text
a -> DescribeAlarm
s {$sel:alarmModelName:DescribeAlarm' :: Text
alarmModelName = Text
a} :: DescribeAlarm)
instance Core.AWSRequest DescribeAlarm where
type
AWSResponse DescribeAlarm =
DescribeAlarmResponse
request :: (Service -> Service) -> DescribeAlarm -> Request DescribeAlarm
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 DescribeAlarm
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeAlarm)))
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 Alarm -> Int -> DescribeAlarmResponse
DescribeAlarmResponse'
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
"alarm")
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 DescribeAlarm where
hashWithSalt :: Int -> DescribeAlarm -> Int
hashWithSalt Int
_salt DescribeAlarm' {Maybe Text
Text
alarmModelName :: Text
keyValue :: Maybe Text
$sel:alarmModelName:DescribeAlarm' :: DescribeAlarm -> Text
$sel:keyValue:DescribeAlarm' :: DescribeAlarm -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
keyValue
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
alarmModelName
instance Prelude.NFData DescribeAlarm where
rnf :: DescribeAlarm -> ()
rnf DescribeAlarm' {Maybe Text
Text
alarmModelName :: Text
keyValue :: Maybe Text
$sel:alarmModelName:DescribeAlarm' :: DescribeAlarm -> Text
$sel:keyValue:DescribeAlarm' :: DescribeAlarm -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
keyValue
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
alarmModelName
instance Data.ToHeaders DescribeAlarm where
toHeaders :: DescribeAlarm -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeAlarm where
toPath :: DescribeAlarm -> ByteString
toPath DescribeAlarm' {Maybe Text
Text
alarmModelName :: Text
keyValue :: Maybe Text
$sel:alarmModelName:DescribeAlarm' :: DescribeAlarm -> Text
$sel:keyValue:DescribeAlarm' :: DescribeAlarm -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/alarms/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
alarmModelName, ByteString
"/keyValues/"]
instance Data.ToQuery DescribeAlarm where
toQuery :: DescribeAlarm -> QueryString
toQuery DescribeAlarm' {Maybe Text
Text
alarmModelName :: Text
keyValue :: Maybe Text
$sel:alarmModelName:DescribeAlarm' :: DescribeAlarm -> Text
$sel:keyValue:DescribeAlarm' :: DescribeAlarm -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"keyValue" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
keyValue]
data DescribeAlarmResponse = DescribeAlarmResponse'
{
DescribeAlarmResponse -> Maybe Alarm
alarm :: Prelude.Maybe Alarm,
DescribeAlarmResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeAlarmResponse -> DescribeAlarmResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAlarmResponse -> DescribeAlarmResponse -> Bool
$c/= :: DescribeAlarmResponse -> DescribeAlarmResponse -> Bool
== :: DescribeAlarmResponse -> DescribeAlarmResponse -> Bool
$c== :: DescribeAlarmResponse -> DescribeAlarmResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAlarmResponse]
ReadPrec DescribeAlarmResponse
Int -> ReadS DescribeAlarmResponse
ReadS [DescribeAlarmResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAlarmResponse]
$creadListPrec :: ReadPrec [DescribeAlarmResponse]
readPrec :: ReadPrec DescribeAlarmResponse
$creadPrec :: ReadPrec DescribeAlarmResponse
readList :: ReadS [DescribeAlarmResponse]
$creadList :: ReadS [DescribeAlarmResponse]
readsPrec :: Int -> ReadS DescribeAlarmResponse
$creadsPrec :: Int -> ReadS DescribeAlarmResponse
Prelude.Read, Int -> DescribeAlarmResponse -> ShowS
[DescribeAlarmResponse] -> ShowS
DescribeAlarmResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAlarmResponse] -> ShowS
$cshowList :: [DescribeAlarmResponse] -> ShowS
show :: DescribeAlarmResponse -> String
$cshow :: DescribeAlarmResponse -> String
showsPrec :: Int -> DescribeAlarmResponse -> ShowS
$cshowsPrec :: Int -> DescribeAlarmResponse -> ShowS
Prelude.Show, forall x. Rep DescribeAlarmResponse x -> DescribeAlarmResponse
forall x. DescribeAlarmResponse -> Rep DescribeAlarmResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAlarmResponse x -> DescribeAlarmResponse
$cfrom :: forall x. DescribeAlarmResponse -> Rep DescribeAlarmResponse x
Prelude.Generic)
newDescribeAlarmResponse ::
Prelude.Int ->
DescribeAlarmResponse
newDescribeAlarmResponse :: Int -> DescribeAlarmResponse
newDescribeAlarmResponse Int
pHttpStatus_ =
DescribeAlarmResponse'
{ $sel:alarm:DescribeAlarmResponse' :: Maybe Alarm
alarm = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeAlarmResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeAlarmResponse_alarm :: Lens.Lens' DescribeAlarmResponse (Prelude.Maybe Alarm)
describeAlarmResponse_alarm :: Lens' DescribeAlarmResponse (Maybe Alarm)
describeAlarmResponse_alarm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmResponse' {Maybe Alarm
alarm :: Maybe Alarm
$sel:alarm:DescribeAlarmResponse' :: DescribeAlarmResponse -> Maybe Alarm
alarm} -> Maybe Alarm
alarm) (\s :: DescribeAlarmResponse
s@DescribeAlarmResponse' {} Maybe Alarm
a -> DescribeAlarmResponse
s {$sel:alarm:DescribeAlarmResponse' :: Maybe Alarm
alarm = Maybe Alarm
a} :: DescribeAlarmResponse)
describeAlarmResponse_httpStatus :: Lens.Lens' DescribeAlarmResponse Prelude.Int
describeAlarmResponse_httpStatus :: Lens' DescribeAlarmResponse Int
describeAlarmResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeAlarmResponse' :: DescribeAlarmResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeAlarmResponse
s@DescribeAlarmResponse' {} Int
a -> DescribeAlarmResponse
s {$sel:httpStatus:DescribeAlarmResponse' :: Int
httpStatus = Int
a} :: DescribeAlarmResponse)
instance Prelude.NFData DescribeAlarmResponse where
rnf :: DescribeAlarmResponse -> ()
rnf DescribeAlarmResponse' {Int
Maybe Alarm
httpStatus :: Int
alarm :: Maybe Alarm
$sel:httpStatus:DescribeAlarmResponse' :: DescribeAlarmResponse -> Int
$sel:alarm:DescribeAlarmResponse' :: DescribeAlarmResponse -> Maybe Alarm
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Alarm
alarm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus