{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.IoTEvents.DescribeAlarmModel
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Retrieves information about an alarm model. If you don\'t specify a
-- value for the @alarmModelVersion@ parameter, the latest version is
-- returned.
module Amazonka.IoTEvents.DescribeAlarmModel
  ( -- * Creating a Request
    DescribeAlarmModel (..),
    newDescribeAlarmModel,

    -- * Request Lenses
    describeAlarmModel_alarmModelVersion,
    describeAlarmModel_alarmModelName,

    -- * Destructuring the Response
    DescribeAlarmModelResponse (..),
    newDescribeAlarmModelResponse,

    -- * Response Lenses
    describeAlarmModelResponse_alarmCapabilities,
    describeAlarmModelResponse_alarmEventActions,
    describeAlarmModelResponse_alarmModelArn,
    describeAlarmModelResponse_alarmModelDescription,
    describeAlarmModelResponse_alarmModelName,
    describeAlarmModelResponse_alarmModelVersion,
    describeAlarmModelResponse_alarmNotification,
    describeAlarmModelResponse_alarmRule,
    describeAlarmModelResponse_creationTime,
    describeAlarmModelResponse_key,
    describeAlarmModelResponse_lastUpdateTime,
    describeAlarmModelResponse_roleArn,
    describeAlarmModelResponse_severity,
    describeAlarmModelResponse_status,
    describeAlarmModelResponse_statusMessage,
    describeAlarmModelResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoTEvents.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeAlarmModel' smart constructor.
data DescribeAlarmModel = DescribeAlarmModel'
  { -- | The version of the alarm model.
    DescribeAlarmModel -> Maybe Text
alarmModelVersion :: Prelude.Maybe Prelude.Text,
    -- | The name of the alarm model.
    DescribeAlarmModel -> Text
alarmModelName :: Prelude.Text
  }
  deriving (DescribeAlarmModel -> DescribeAlarmModel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAlarmModel -> DescribeAlarmModel -> Bool
$c/= :: DescribeAlarmModel -> DescribeAlarmModel -> Bool
== :: DescribeAlarmModel -> DescribeAlarmModel -> Bool
$c== :: DescribeAlarmModel -> DescribeAlarmModel -> Bool
Prelude.Eq, ReadPrec [DescribeAlarmModel]
ReadPrec DescribeAlarmModel
Int -> ReadS DescribeAlarmModel
ReadS [DescribeAlarmModel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAlarmModel]
$creadListPrec :: ReadPrec [DescribeAlarmModel]
readPrec :: ReadPrec DescribeAlarmModel
$creadPrec :: ReadPrec DescribeAlarmModel
readList :: ReadS [DescribeAlarmModel]
$creadList :: ReadS [DescribeAlarmModel]
readsPrec :: Int -> ReadS DescribeAlarmModel
$creadsPrec :: Int -> ReadS DescribeAlarmModel
Prelude.Read, Int -> DescribeAlarmModel -> ShowS
[DescribeAlarmModel] -> ShowS
DescribeAlarmModel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAlarmModel] -> ShowS
$cshowList :: [DescribeAlarmModel] -> ShowS
show :: DescribeAlarmModel -> String
$cshow :: DescribeAlarmModel -> String
showsPrec :: Int -> DescribeAlarmModel -> ShowS
$cshowsPrec :: Int -> DescribeAlarmModel -> ShowS
Prelude.Show, forall x. Rep DescribeAlarmModel x -> DescribeAlarmModel
forall x. DescribeAlarmModel -> Rep DescribeAlarmModel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAlarmModel x -> DescribeAlarmModel
$cfrom :: forall x. DescribeAlarmModel -> Rep DescribeAlarmModel x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAlarmModel' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'alarmModelVersion', 'describeAlarmModel_alarmModelVersion' - The version of the alarm model.
--
-- 'alarmModelName', 'describeAlarmModel_alarmModelName' - The name of the alarm model.
newDescribeAlarmModel ::
  -- | 'alarmModelName'
  Prelude.Text ->
  DescribeAlarmModel
newDescribeAlarmModel :: Text -> DescribeAlarmModel
newDescribeAlarmModel Text
pAlarmModelName_ =
  DescribeAlarmModel'
    { $sel:alarmModelVersion:DescribeAlarmModel' :: Maybe Text
alarmModelVersion =
        forall a. Maybe a
Prelude.Nothing,
      $sel:alarmModelName:DescribeAlarmModel' :: Text
alarmModelName = Text
pAlarmModelName_
    }

-- | The version of the alarm model.
describeAlarmModel_alarmModelVersion :: Lens.Lens' DescribeAlarmModel (Prelude.Maybe Prelude.Text)
describeAlarmModel_alarmModelVersion :: Lens' DescribeAlarmModel (Maybe Text)
describeAlarmModel_alarmModelVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModel' {Maybe Text
alarmModelVersion :: Maybe Text
$sel:alarmModelVersion:DescribeAlarmModel' :: DescribeAlarmModel -> Maybe Text
alarmModelVersion} -> Maybe Text
alarmModelVersion) (\s :: DescribeAlarmModel
s@DescribeAlarmModel' {} Maybe Text
a -> DescribeAlarmModel
s {$sel:alarmModelVersion:DescribeAlarmModel' :: Maybe Text
alarmModelVersion = Maybe Text
a} :: DescribeAlarmModel)

-- | The name of the alarm model.
describeAlarmModel_alarmModelName :: Lens.Lens' DescribeAlarmModel Prelude.Text
describeAlarmModel_alarmModelName :: Lens' DescribeAlarmModel Text
describeAlarmModel_alarmModelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModel' {Text
alarmModelName :: Text
$sel:alarmModelName:DescribeAlarmModel' :: DescribeAlarmModel -> Text
alarmModelName} -> Text
alarmModelName) (\s :: DescribeAlarmModel
s@DescribeAlarmModel' {} Text
a -> DescribeAlarmModel
s {$sel:alarmModelName:DescribeAlarmModel' :: Text
alarmModelName = Text
a} :: DescribeAlarmModel)

instance Core.AWSRequest DescribeAlarmModel where
  type
    AWSResponse DescribeAlarmModel =
      DescribeAlarmModelResponse
  request :: (Service -> Service)
-> DescribeAlarmModel -> Request DescribeAlarmModel
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 DescribeAlarmModel
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeAlarmModel)))
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 AlarmCapabilities
-> Maybe AlarmEventActions
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AlarmNotification
-> Maybe AlarmRule
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Natural
-> Maybe AlarmModelVersionStatus
-> Maybe Text
-> Int
-> DescribeAlarmModelResponse
DescribeAlarmModelResponse'
            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
"alarmCapabilities")
            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
"alarmEventActions")
            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
"alarmModelArn")
            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
"alarmModelDescription")
            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
"alarmModelName")
            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
"alarmModelVersion")
            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
"alarmNotification")
            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
"alarmRule")
            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
"creationTime")
            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
"key")
            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
"lastUpdateTime")
            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
"roleArn")
            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
"severity")
            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
"status")
            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
"statusMessage")
            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 DescribeAlarmModel where
  hashWithSalt :: Int -> DescribeAlarmModel -> Int
hashWithSalt Int
_salt DescribeAlarmModel' {Maybe Text
Text
alarmModelName :: Text
alarmModelVersion :: Maybe Text
$sel:alarmModelName:DescribeAlarmModel' :: DescribeAlarmModel -> Text
$sel:alarmModelVersion:DescribeAlarmModel' :: DescribeAlarmModel -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
alarmModelVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
alarmModelName

instance Prelude.NFData DescribeAlarmModel where
  rnf :: DescribeAlarmModel -> ()
rnf DescribeAlarmModel' {Maybe Text
Text
alarmModelName :: Text
alarmModelVersion :: Maybe Text
$sel:alarmModelName:DescribeAlarmModel' :: DescribeAlarmModel -> Text
$sel:alarmModelVersion:DescribeAlarmModel' :: DescribeAlarmModel -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
alarmModelVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
alarmModelName

instance Data.ToHeaders DescribeAlarmModel where
  toHeaders :: DescribeAlarmModel -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToPath DescribeAlarmModel where
  toPath :: DescribeAlarmModel -> ByteString
toPath DescribeAlarmModel' {Maybe Text
Text
alarmModelName :: Text
alarmModelVersion :: Maybe Text
$sel:alarmModelName:DescribeAlarmModel' :: DescribeAlarmModel -> Text
$sel:alarmModelVersion:DescribeAlarmModel' :: DescribeAlarmModel -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/alarm-models/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
alarmModelName]

instance Data.ToQuery DescribeAlarmModel where
  toQuery :: DescribeAlarmModel -> QueryString
toQuery DescribeAlarmModel' {Maybe Text
Text
alarmModelName :: Text
alarmModelVersion :: Maybe Text
$sel:alarmModelName:DescribeAlarmModel' :: DescribeAlarmModel -> Text
$sel:alarmModelVersion:DescribeAlarmModel' :: DescribeAlarmModel -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"version" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
alarmModelVersion]

-- | /See:/ 'newDescribeAlarmModelResponse' smart constructor.
data DescribeAlarmModelResponse = DescribeAlarmModelResponse'
  { -- | Contains the configuration information of alarm state changes.
    DescribeAlarmModelResponse -> Maybe AlarmCapabilities
alarmCapabilities :: Prelude.Maybe AlarmCapabilities,
    -- | Contains information about one or more alarm actions.
    DescribeAlarmModelResponse -> Maybe AlarmEventActions
alarmEventActions :: Prelude.Maybe AlarmEventActions,
    -- | The ARN of the alarm model. For more information, see
    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
    -- in the /AWS General Reference/.
    DescribeAlarmModelResponse -> Maybe Text
alarmModelArn :: Prelude.Maybe Prelude.Text,
    -- | The description of the alarm model.
    DescribeAlarmModelResponse -> Maybe Text
alarmModelDescription :: Prelude.Maybe Prelude.Text,
    -- | The name of the alarm model.
    DescribeAlarmModelResponse -> Maybe Text
alarmModelName :: Prelude.Maybe Prelude.Text,
    -- | The version of the alarm model.
    DescribeAlarmModelResponse -> Maybe Text
alarmModelVersion :: Prelude.Maybe Prelude.Text,
    -- | Contains information about one or more notification actions.
    DescribeAlarmModelResponse -> Maybe AlarmNotification
alarmNotification :: Prelude.Maybe AlarmNotification,
    -- | Defines when your alarm is invoked.
    DescribeAlarmModelResponse -> Maybe AlarmRule
alarmRule :: Prelude.Maybe AlarmRule,
    -- | The time the alarm model was created, in the Unix epoch format.
    DescribeAlarmModelResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | An input attribute used as a key to create an alarm. AWS IoT Events
    -- routes
    -- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>
    -- associated with this key to the alarm.
    DescribeAlarmModelResponse -> Maybe Text
key :: Prelude.Maybe Prelude.Text,
    -- | The time the alarm model was last updated, in the Unix epoch format.
    DescribeAlarmModelResponse -> Maybe POSIX
lastUpdateTime :: Prelude.Maybe Data.POSIX,
    -- | The ARN of the IAM role that allows the alarm to perform actions and
    -- access AWS resources. For more information, see
    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
    -- in the /AWS General Reference/.
    DescribeAlarmModelResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | A non-negative integer that reflects the severity level of the alarm.
    DescribeAlarmModelResponse -> Maybe Natural
severity :: Prelude.Maybe Prelude.Natural,
    -- | The status of the alarm model. The status can be one of the following
    -- values:
    --
    -- -   @ACTIVE@ - The alarm model is active and it\'s ready to evaluate
    --     data.
    --
    -- -   @ACTIVATING@ - AWS IoT Events is activating your alarm model.
    --     Activating an alarm model can take up to a few minutes.
    --
    -- -   @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to
    --     evaluate data. Check your alarm model information and update the
    --     alarm model.
    --
    -- -   @FAILED@ - You couldn\'t create or update the alarm model. Check
    --     your alarm model information and try again.
    DescribeAlarmModelResponse -> Maybe AlarmModelVersionStatus
status :: Prelude.Maybe AlarmModelVersionStatus,
    -- | Contains information about the status of the alarm model.
    DescribeAlarmModelResponse -> Maybe Text
statusMessage :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeAlarmModelResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeAlarmModelResponse -> DescribeAlarmModelResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAlarmModelResponse -> DescribeAlarmModelResponse -> Bool
$c/= :: DescribeAlarmModelResponse -> DescribeAlarmModelResponse -> Bool
== :: DescribeAlarmModelResponse -> DescribeAlarmModelResponse -> Bool
$c== :: DescribeAlarmModelResponse -> DescribeAlarmModelResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAlarmModelResponse]
ReadPrec DescribeAlarmModelResponse
Int -> ReadS DescribeAlarmModelResponse
ReadS [DescribeAlarmModelResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAlarmModelResponse]
$creadListPrec :: ReadPrec [DescribeAlarmModelResponse]
readPrec :: ReadPrec DescribeAlarmModelResponse
$creadPrec :: ReadPrec DescribeAlarmModelResponse
readList :: ReadS [DescribeAlarmModelResponse]
$creadList :: ReadS [DescribeAlarmModelResponse]
readsPrec :: Int -> ReadS DescribeAlarmModelResponse
$creadsPrec :: Int -> ReadS DescribeAlarmModelResponse
Prelude.Read, Int -> DescribeAlarmModelResponse -> ShowS
[DescribeAlarmModelResponse] -> ShowS
DescribeAlarmModelResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAlarmModelResponse] -> ShowS
$cshowList :: [DescribeAlarmModelResponse] -> ShowS
show :: DescribeAlarmModelResponse -> String
$cshow :: DescribeAlarmModelResponse -> String
showsPrec :: Int -> DescribeAlarmModelResponse -> ShowS
$cshowsPrec :: Int -> DescribeAlarmModelResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeAlarmModelResponse x -> DescribeAlarmModelResponse
forall x.
DescribeAlarmModelResponse -> Rep DescribeAlarmModelResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAlarmModelResponse x -> DescribeAlarmModelResponse
$cfrom :: forall x.
DescribeAlarmModelResponse -> Rep DescribeAlarmModelResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAlarmModelResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'alarmCapabilities', 'describeAlarmModelResponse_alarmCapabilities' - Contains the configuration information of alarm state changes.
--
-- 'alarmEventActions', 'describeAlarmModelResponse_alarmEventActions' - Contains information about one or more alarm actions.
--
-- 'alarmModelArn', 'describeAlarmModelResponse_alarmModelArn' - The ARN of the alarm model. For more information, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
--
-- 'alarmModelDescription', 'describeAlarmModelResponse_alarmModelDescription' - The description of the alarm model.
--
-- 'alarmModelName', 'describeAlarmModelResponse_alarmModelName' - The name of the alarm model.
--
-- 'alarmModelVersion', 'describeAlarmModelResponse_alarmModelVersion' - The version of the alarm model.
--
-- 'alarmNotification', 'describeAlarmModelResponse_alarmNotification' - Contains information about one or more notification actions.
--
-- 'alarmRule', 'describeAlarmModelResponse_alarmRule' - Defines when your alarm is invoked.
--
-- 'creationTime', 'describeAlarmModelResponse_creationTime' - The time the alarm model was created, in the Unix epoch format.
--
-- 'key', 'describeAlarmModelResponse_key' - An input attribute used as a key to create an alarm. AWS IoT Events
-- routes
-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>
-- associated with this key to the alarm.
--
-- 'lastUpdateTime', 'describeAlarmModelResponse_lastUpdateTime' - The time the alarm model was last updated, in the Unix epoch format.
--
-- 'roleArn', 'describeAlarmModelResponse_roleArn' - The ARN of the IAM role that allows the alarm to perform actions and
-- access AWS resources. For more information, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
--
-- 'severity', 'describeAlarmModelResponse_severity' - A non-negative integer that reflects the severity level of the alarm.
--
-- 'status', 'describeAlarmModelResponse_status' - The status of the alarm model. The status can be one of the following
-- values:
--
-- -   @ACTIVE@ - The alarm model is active and it\'s ready to evaluate
--     data.
--
-- -   @ACTIVATING@ - AWS IoT Events is activating your alarm model.
--     Activating an alarm model can take up to a few minutes.
--
-- -   @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to
--     evaluate data. Check your alarm model information and update the
--     alarm model.
--
-- -   @FAILED@ - You couldn\'t create or update the alarm model. Check
--     your alarm model information and try again.
--
-- 'statusMessage', 'describeAlarmModelResponse_statusMessage' - Contains information about the status of the alarm model.
--
-- 'httpStatus', 'describeAlarmModelResponse_httpStatus' - The response's http status code.
newDescribeAlarmModelResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeAlarmModelResponse
newDescribeAlarmModelResponse :: Int -> DescribeAlarmModelResponse
newDescribeAlarmModelResponse Int
pHttpStatus_ =
  DescribeAlarmModelResponse'
    { $sel:alarmCapabilities:DescribeAlarmModelResponse' :: Maybe AlarmCapabilities
alarmCapabilities =
        forall a. Maybe a
Prelude.Nothing,
      $sel:alarmEventActions:DescribeAlarmModelResponse' :: Maybe AlarmEventActions
alarmEventActions = forall a. Maybe a
Prelude.Nothing,
      $sel:alarmModelArn:DescribeAlarmModelResponse' :: Maybe Text
alarmModelArn = forall a. Maybe a
Prelude.Nothing,
      $sel:alarmModelDescription:DescribeAlarmModelResponse' :: Maybe Text
alarmModelDescription = forall a. Maybe a
Prelude.Nothing,
      $sel:alarmModelName:DescribeAlarmModelResponse' :: Maybe Text
alarmModelName = forall a. Maybe a
Prelude.Nothing,
      $sel:alarmModelVersion:DescribeAlarmModelResponse' :: Maybe Text
alarmModelVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:alarmNotification:DescribeAlarmModelResponse' :: Maybe AlarmNotification
alarmNotification = forall a. Maybe a
Prelude.Nothing,
      $sel:alarmRule:DescribeAlarmModelResponse' :: Maybe AlarmRule
alarmRule = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:DescribeAlarmModelResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:key:DescribeAlarmModelResponse' :: Maybe Text
key = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdateTime:DescribeAlarmModelResponse' :: Maybe POSIX
lastUpdateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:DescribeAlarmModelResponse' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:severity:DescribeAlarmModelResponse' :: Maybe Natural
severity = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeAlarmModelResponse' :: Maybe AlarmModelVersionStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:statusMessage:DescribeAlarmModelResponse' :: Maybe Text
statusMessage = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeAlarmModelResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Contains the configuration information of alarm state changes.
describeAlarmModelResponse_alarmCapabilities :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmCapabilities)
describeAlarmModelResponse_alarmCapabilities :: Lens' DescribeAlarmModelResponse (Maybe AlarmCapabilities)
describeAlarmModelResponse_alarmCapabilities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe AlarmCapabilities
alarmCapabilities :: Maybe AlarmCapabilities
$sel:alarmCapabilities:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmCapabilities
alarmCapabilities} -> Maybe AlarmCapabilities
alarmCapabilities) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe AlarmCapabilities
a -> DescribeAlarmModelResponse
s {$sel:alarmCapabilities:DescribeAlarmModelResponse' :: Maybe AlarmCapabilities
alarmCapabilities = Maybe AlarmCapabilities
a} :: DescribeAlarmModelResponse)

-- | Contains information about one or more alarm actions.
describeAlarmModelResponse_alarmEventActions :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmEventActions)
describeAlarmModelResponse_alarmEventActions :: Lens' DescribeAlarmModelResponse (Maybe AlarmEventActions)
describeAlarmModelResponse_alarmEventActions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe AlarmEventActions
alarmEventActions :: Maybe AlarmEventActions
$sel:alarmEventActions:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmEventActions
alarmEventActions} -> Maybe AlarmEventActions
alarmEventActions) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe AlarmEventActions
a -> DescribeAlarmModelResponse
s {$sel:alarmEventActions:DescribeAlarmModelResponse' :: Maybe AlarmEventActions
alarmEventActions = Maybe AlarmEventActions
a} :: DescribeAlarmModelResponse)

-- | The ARN of the alarm model. For more information, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
describeAlarmModelResponse_alarmModelArn :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)
describeAlarmModelResponse_alarmModelArn :: Lens' DescribeAlarmModelResponse (Maybe Text)
describeAlarmModelResponse_alarmModelArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Text
alarmModelArn :: Maybe Text
$sel:alarmModelArn:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
alarmModelArn} -> Maybe Text
alarmModelArn) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Text
a -> DescribeAlarmModelResponse
s {$sel:alarmModelArn:DescribeAlarmModelResponse' :: Maybe Text
alarmModelArn = Maybe Text
a} :: DescribeAlarmModelResponse)

-- | The description of the alarm model.
describeAlarmModelResponse_alarmModelDescription :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)
describeAlarmModelResponse_alarmModelDescription :: Lens' DescribeAlarmModelResponse (Maybe Text)
describeAlarmModelResponse_alarmModelDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Text
alarmModelDescription :: Maybe Text
$sel:alarmModelDescription:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
alarmModelDescription} -> Maybe Text
alarmModelDescription) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Text
a -> DescribeAlarmModelResponse
s {$sel:alarmModelDescription:DescribeAlarmModelResponse' :: Maybe Text
alarmModelDescription = Maybe Text
a} :: DescribeAlarmModelResponse)

-- | The name of the alarm model.
describeAlarmModelResponse_alarmModelName :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)
describeAlarmModelResponse_alarmModelName :: Lens' DescribeAlarmModelResponse (Maybe Text)
describeAlarmModelResponse_alarmModelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Text
alarmModelName :: Maybe Text
$sel:alarmModelName:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
alarmModelName} -> Maybe Text
alarmModelName) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Text
a -> DescribeAlarmModelResponse
s {$sel:alarmModelName:DescribeAlarmModelResponse' :: Maybe Text
alarmModelName = Maybe Text
a} :: DescribeAlarmModelResponse)

-- | The version of the alarm model.
describeAlarmModelResponse_alarmModelVersion :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)
describeAlarmModelResponse_alarmModelVersion :: Lens' DescribeAlarmModelResponse (Maybe Text)
describeAlarmModelResponse_alarmModelVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Text
alarmModelVersion :: Maybe Text
$sel:alarmModelVersion:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
alarmModelVersion} -> Maybe Text
alarmModelVersion) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Text
a -> DescribeAlarmModelResponse
s {$sel:alarmModelVersion:DescribeAlarmModelResponse' :: Maybe Text
alarmModelVersion = Maybe Text
a} :: DescribeAlarmModelResponse)

-- | Contains information about one or more notification actions.
describeAlarmModelResponse_alarmNotification :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmNotification)
describeAlarmModelResponse_alarmNotification :: Lens' DescribeAlarmModelResponse (Maybe AlarmNotification)
describeAlarmModelResponse_alarmNotification = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe AlarmNotification
alarmNotification :: Maybe AlarmNotification
$sel:alarmNotification:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmNotification
alarmNotification} -> Maybe AlarmNotification
alarmNotification) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe AlarmNotification
a -> DescribeAlarmModelResponse
s {$sel:alarmNotification:DescribeAlarmModelResponse' :: Maybe AlarmNotification
alarmNotification = Maybe AlarmNotification
a} :: DescribeAlarmModelResponse)

-- | Defines when your alarm is invoked.
describeAlarmModelResponse_alarmRule :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmRule)
describeAlarmModelResponse_alarmRule :: Lens' DescribeAlarmModelResponse (Maybe AlarmRule)
describeAlarmModelResponse_alarmRule = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe AlarmRule
alarmRule :: Maybe AlarmRule
$sel:alarmRule:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmRule
alarmRule} -> Maybe AlarmRule
alarmRule) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe AlarmRule
a -> DescribeAlarmModelResponse
s {$sel:alarmRule:DescribeAlarmModelResponse' :: Maybe AlarmRule
alarmRule = Maybe AlarmRule
a} :: DescribeAlarmModelResponse)

-- | The time the alarm model was created, in the Unix epoch format.
describeAlarmModelResponse_creationTime :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)
describeAlarmModelResponse_creationTime :: Lens' DescribeAlarmModelResponse (Maybe UTCTime)
describeAlarmModelResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe POSIX
a -> DescribeAlarmModelResponse
s {$sel:creationTime:DescribeAlarmModelResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeAlarmModelResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | An input attribute used as a key to create an alarm. AWS IoT Events
-- routes
-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>
-- associated with this key to the alarm.
describeAlarmModelResponse_key :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)
describeAlarmModelResponse_key :: Lens' DescribeAlarmModelResponse (Maybe Text)
describeAlarmModelResponse_key = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Text
key :: Maybe Text
$sel:key:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
key} -> Maybe Text
key) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Text
a -> DescribeAlarmModelResponse
s {$sel:key:DescribeAlarmModelResponse' :: Maybe Text
key = Maybe Text
a} :: DescribeAlarmModelResponse)

-- | The time the alarm model was last updated, in the Unix epoch format.
describeAlarmModelResponse_lastUpdateTime :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)
describeAlarmModelResponse_lastUpdateTime :: Lens' DescribeAlarmModelResponse (Maybe UTCTime)
describeAlarmModelResponse_lastUpdateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe POSIX
lastUpdateTime :: Maybe POSIX
$sel:lastUpdateTime:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe POSIX
lastUpdateTime} -> Maybe POSIX
lastUpdateTime) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe POSIX
a -> DescribeAlarmModelResponse
s {$sel:lastUpdateTime:DescribeAlarmModelResponse' :: Maybe POSIX
lastUpdateTime = Maybe POSIX
a} :: DescribeAlarmModelResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The ARN of the IAM role that allows the alarm to perform actions and
-- access AWS resources. For more information, see
-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>
-- in the /AWS General Reference/.
describeAlarmModelResponse_roleArn :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)
describeAlarmModelResponse_roleArn :: Lens' DescribeAlarmModelResponse (Maybe Text)
describeAlarmModelResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Text
a -> DescribeAlarmModelResponse
s {$sel:roleArn:DescribeAlarmModelResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeAlarmModelResponse)

-- | A non-negative integer that reflects the severity level of the alarm.
describeAlarmModelResponse_severity :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Natural)
describeAlarmModelResponse_severity :: Lens' DescribeAlarmModelResponse (Maybe Natural)
describeAlarmModelResponse_severity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Natural
severity :: Maybe Natural
$sel:severity:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Natural
severity} -> Maybe Natural
severity) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Natural
a -> DescribeAlarmModelResponse
s {$sel:severity:DescribeAlarmModelResponse' :: Maybe Natural
severity = Maybe Natural
a} :: DescribeAlarmModelResponse)

-- | The status of the alarm model. The status can be one of the following
-- values:
--
-- -   @ACTIVE@ - The alarm model is active and it\'s ready to evaluate
--     data.
--
-- -   @ACTIVATING@ - AWS IoT Events is activating your alarm model.
--     Activating an alarm model can take up to a few minutes.
--
-- -   @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to
--     evaluate data. Check your alarm model information and update the
--     alarm model.
--
-- -   @FAILED@ - You couldn\'t create or update the alarm model. Check
--     your alarm model information and try again.
describeAlarmModelResponse_status :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmModelVersionStatus)
describeAlarmModelResponse_status :: Lens' DescribeAlarmModelResponse (Maybe AlarmModelVersionStatus)
describeAlarmModelResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe AlarmModelVersionStatus
status :: Maybe AlarmModelVersionStatus
$sel:status:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmModelVersionStatus
status} -> Maybe AlarmModelVersionStatus
status) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe AlarmModelVersionStatus
a -> DescribeAlarmModelResponse
s {$sel:status:DescribeAlarmModelResponse' :: Maybe AlarmModelVersionStatus
status = Maybe AlarmModelVersionStatus
a} :: DescribeAlarmModelResponse)

-- | Contains information about the status of the alarm model.
describeAlarmModelResponse_statusMessage :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)
describeAlarmModelResponse_statusMessage :: Lens' DescribeAlarmModelResponse (Maybe Text)
describeAlarmModelResponse_statusMessage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Maybe Text
statusMessage :: Maybe Text
$sel:statusMessage:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
statusMessage} -> Maybe Text
statusMessage) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Maybe Text
a -> DescribeAlarmModelResponse
s {$sel:statusMessage:DescribeAlarmModelResponse' :: Maybe Text
statusMessage = Maybe Text
a} :: DescribeAlarmModelResponse)

-- | The response's http status code.
describeAlarmModelResponse_httpStatus :: Lens.Lens' DescribeAlarmModelResponse Prelude.Int
describeAlarmModelResponse_httpStatus :: Lens' DescribeAlarmModelResponse Int
describeAlarmModelResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAlarmModelResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeAlarmModelResponse
s@DescribeAlarmModelResponse' {} Int
a -> DescribeAlarmModelResponse
s {$sel:httpStatus:DescribeAlarmModelResponse' :: Int
httpStatus = Int
a} :: DescribeAlarmModelResponse)

instance Prelude.NFData DescribeAlarmModelResponse where
  rnf :: DescribeAlarmModelResponse -> ()
rnf DescribeAlarmModelResponse' {Int
Maybe Natural
Maybe Text
Maybe POSIX
Maybe AlarmModelVersionStatus
Maybe AlarmCapabilities
Maybe AlarmNotification
Maybe AlarmRule
Maybe AlarmEventActions
httpStatus :: Int
statusMessage :: Maybe Text
status :: Maybe AlarmModelVersionStatus
severity :: Maybe Natural
roleArn :: Maybe Text
lastUpdateTime :: Maybe POSIX
key :: Maybe Text
creationTime :: Maybe POSIX
alarmRule :: Maybe AlarmRule
alarmNotification :: Maybe AlarmNotification
alarmModelVersion :: Maybe Text
alarmModelName :: Maybe Text
alarmModelDescription :: Maybe Text
alarmModelArn :: Maybe Text
alarmEventActions :: Maybe AlarmEventActions
alarmCapabilities :: Maybe AlarmCapabilities
$sel:httpStatus:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Int
$sel:statusMessage:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
$sel:status:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmModelVersionStatus
$sel:severity:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Natural
$sel:roleArn:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
$sel:lastUpdateTime:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe POSIX
$sel:key:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
$sel:creationTime:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe POSIX
$sel:alarmRule:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmRule
$sel:alarmNotification:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmNotification
$sel:alarmModelVersion:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
$sel:alarmModelName:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
$sel:alarmModelDescription:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
$sel:alarmModelArn:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe Text
$sel:alarmEventActions:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmEventActions
$sel:alarmCapabilities:DescribeAlarmModelResponse' :: DescribeAlarmModelResponse -> Maybe AlarmCapabilities
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe AlarmCapabilities
alarmCapabilities
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AlarmEventActions
alarmEventActions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
alarmModelArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
alarmModelDescription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
alarmModelName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
alarmModelVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AlarmNotification
alarmNotification
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AlarmRule
alarmRule
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
key
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
severity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AlarmModelVersionStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusMessage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus