amazonka-elasticbeanstalk-2.0: gen/Amazonka/ElasticBeanstalk/Types/InstanceHealthSummary.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.ElasticBeanstalk.Types.InstanceHealthSummary
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.ElasticBeanstalk.Types.InstanceHealthSummary where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
-- | Represents summary information about the health of an instance. For more
-- information, see
-- <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html Health Colors and Statuses>.
--
-- /See:/ 'newInstanceHealthSummary' smart constructor.
data InstanceHealthSummary = InstanceHealthSummary'
{ -- | __Red.__ The health agent is reporting a high number of request failures
-- or other issues for an instance or environment.
degraded :: Prelude.Maybe Prelude.Int,
-- | __Green.__ An operation is in progress on an instance.
info :: Prelude.Maybe Prelude.Int,
-- | __Grey.__ AWS Elastic Beanstalk and the health agent are reporting no
-- data on an instance.
noData :: Prelude.Maybe Prelude.Int,
-- | __Green.__ An instance is passing health checks and the health agent is
-- not reporting any problems.
ok :: Prelude.Maybe Prelude.Int,
-- | __Grey.__ An operation is in progress on an instance within the command
-- timeout.
pending :: Prelude.Maybe Prelude.Int,
-- | __Red.__ The health agent is reporting a very high number of request
-- failures or other issues for an instance or environment.
severe :: Prelude.Maybe Prelude.Int,
-- | __Grey.__ AWS Elastic Beanstalk and the health agent are reporting an
-- insufficient amount of data on an instance.
unknown :: Prelude.Maybe Prelude.Int,
-- | __Yellow.__ The health agent is reporting a moderate number of request
-- failures or other issues for an instance or environment.
warning :: Prelude.Maybe Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'InstanceHealthSummary' 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:
--
-- 'degraded', 'instanceHealthSummary_degraded' - __Red.__ The health agent is reporting a high number of request failures
-- or other issues for an instance or environment.
--
-- 'info', 'instanceHealthSummary_info' - __Green.__ An operation is in progress on an instance.
--
-- 'noData', 'instanceHealthSummary_noData' - __Grey.__ AWS Elastic Beanstalk and the health agent are reporting no
-- data on an instance.
--
-- 'ok', 'instanceHealthSummary_ok' - __Green.__ An instance is passing health checks and the health agent is
-- not reporting any problems.
--
-- 'pending', 'instanceHealthSummary_pending' - __Grey.__ An operation is in progress on an instance within the command
-- timeout.
--
-- 'severe', 'instanceHealthSummary_severe' - __Red.__ The health agent is reporting a very high number of request
-- failures or other issues for an instance or environment.
--
-- 'unknown', 'instanceHealthSummary_unknown' - __Grey.__ AWS Elastic Beanstalk and the health agent are reporting an
-- insufficient amount of data on an instance.
--
-- 'warning', 'instanceHealthSummary_warning' - __Yellow.__ The health agent is reporting a moderate number of request
-- failures or other issues for an instance or environment.
newInstanceHealthSummary ::
InstanceHealthSummary
newInstanceHealthSummary =
InstanceHealthSummary'
{ degraded = Prelude.Nothing,
info = Prelude.Nothing,
noData = Prelude.Nothing,
ok = Prelude.Nothing,
pending = Prelude.Nothing,
severe = Prelude.Nothing,
unknown = Prelude.Nothing,
warning = Prelude.Nothing
}
-- | __Red.__ The health agent is reporting a high number of request failures
-- or other issues for an instance or environment.
instanceHealthSummary_degraded :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_degraded = Lens.lens (\InstanceHealthSummary' {degraded} -> degraded) (\s@InstanceHealthSummary' {} a -> s {degraded = a} :: InstanceHealthSummary)
-- | __Green.__ An operation is in progress on an instance.
instanceHealthSummary_info :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_info = Lens.lens (\InstanceHealthSummary' {info} -> info) (\s@InstanceHealthSummary' {} a -> s {info = a} :: InstanceHealthSummary)
-- | __Grey.__ AWS Elastic Beanstalk and the health agent are reporting no
-- data on an instance.
instanceHealthSummary_noData :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_noData = Lens.lens (\InstanceHealthSummary' {noData} -> noData) (\s@InstanceHealthSummary' {} a -> s {noData = a} :: InstanceHealthSummary)
-- | __Green.__ An instance is passing health checks and the health agent is
-- not reporting any problems.
instanceHealthSummary_ok :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_ok = Lens.lens (\InstanceHealthSummary' {ok} -> ok) (\s@InstanceHealthSummary' {} a -> s {ok = a} :: InstanceHealthSummary)
-- | __Grey.__ An operation is in progress on an instance within the command
-- timeout.
instanceHealthSummary_pending :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_pending = Lens.lens (\InstanceHealthSummary' {pending} -> pending) (\s@InstanceHealthSummary' {} a -> s {pending = a} :: InstanceHealthSummary)
-- | __Red.__ The health agent is reporting a very high number of request
-- failures or other issues for an instance or environment.
instanceHealthSummary_severe :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_severe = Lens.lens (\InstanceHealthSummary' {severe} -> severe) (\s@InstanceHealthSummary' {} a -> s {severe = a} :: InstanceHealthSummary)
-- | __Grey.__ AWS Elastic Beanstalk and the health agent are reporting an
-- insufficient amount of data on an instance.
instanceHealthSummary_unknown :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_unknown = Lens.lens (\InstanceHealthSummary' {unknown} -> unknown) (\s@InstanceHealthSummary' {} a -> s {unknown = a} :: InstanceHealthSummary)
-- | __Yellow.__ The health agent is reporting a moderate number of request
-- failures or other issues for an instance or environment.
instanceHealthSummary_warning :: Lens.Lens' InstanceHealthSummary (Prelude.Maybe Prelude.Int)
instanceHealthSummary_warning = Lens.lens (\InstanceHealthSummary' {warning} -> warning) (\s@InstanceHealthSummary' {} a -> s {warning = a} :: InstanceHealthSummary)
instance Data.FromXML InstanceHealthSummary where
parseXML x =
InstanceHealthSummary'
Prelude.<$> (x Data..@? "Degraded")
Prelude.<*> (x Data..@? "Info")
Prelude.<*> (x Data..@? "NoData")
Prelude.<*> (x Data..@? "Ok")
Prelude.<*> (x Data..@? "Pending")
Prelude.<*> (x Data..@? "Severe")
Prelude.<*> (x Data..@? "Unknown")
Prelude.<*> (x Data..@? "Warning")
instance Prelude.Hashable InstanceHealthSummary where
hashWithSalt _salt InstanceHealthSummary' {..} =
_salt
`Prelude.hashWithSalt` degraded
`Prelude.hashWithSalt` info
`Prelude.hashWithSalt` noData
`Prelude.hashWithSalt` ok
`Prelude.hashWithSalt` pending
`Prelude.hashWithSalt` severe
`Prelude.hashWithSalt` unknown
`Prelude.hashWithSalt` warning
instance Prelude.NFData InstanceHealthSummary where
rnf InstanceHealthSummary' {..} =
Prelude.rnf degraded
`Prelude.seq` Prelude.rnf info
`Prelude.seq` Prelude.rnf noData
`Prelude.seq` Prelude.rnf ok
`Prelude.seq` Prelude.rnf pending
`Prelude.seq` Prelude.rnf severe
`Prelude.seq` Prelude.rnf unknown
`Prelude.seq` Prelude.rnf warning