amazonka-discovery-2.0: gen/Amazonka/Discovery/Types/CustomerAgentInfo.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.Discovery.Types.CustomerAgentInfo
-- 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.Discovery.Types.CustomerAgentInfo 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
-- | Inventory data for installed discovery agents.
--
-- /See:/ 'newCustomerAgentInfo' smart constructor.
data CustomerAgentInfo = CustomerAgentInfo'
{ -- | Number of active discovery agents.
activeAgents :: Prelude.Int,
-- | Number of healthy discovery agents
healthyAgents :: Prelude.Int,
-- | Number of blacklisted discovery agents.
blackListedAgents :: Prelude.Int,
-- | Number of discovery agents with status SHUTDOWN.
shutdownAgents :: Prelude.Int,
-- | Number of unhealthy discovery agents.
unhealthyAgents :: Prelude.Int,
-- | Total number of discovery agents.
totalAgents :: Prelude.Int,
-- | Number of unknown discovery agents.
unknownAgents :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'CustomerAgentInfo' 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:
--
-- 'activeAgents', 'customerAgentInfo_activeAgents' - Number of active discovery agents.
--
-- 'healthyAgents', 'customerAgentInfo_healthyAgents' - Number of healthy discovery agents
--
-- 'blackListedAgents', 'customerAgentInfo_blackListedAgents' - Number of blacklisted discovery agents.
--
-- 'shutdownAgents', 'customerAgentInfo_shutdownAgents' - Number of discovery agents with status SHUTDOWN.
--
-- 'unhealthyAgents', 'customerAgentInfo_unhealthyAgents' - Number of unhealthy discovery agents.
--
-- 'totalAgents', 'customerAgentInfo_totalAgents' - Total number of discovery agents.
--
-- 'unknownAgents', 'customerAgentInfo_unknownAgents' - Number of unknown discovery agents.
newCustomerAgentInfo ::
-- | 'activeAgents'
Prelude.Int ->
-- | 'healthyAgents'
Prelude.Int ->
-- | 'blackListedAgents'
Prelude.Int ->
-- | 'shutdownAgents'
Prelude.Int ->
-- | 'unhealthyAgents'
Prelude.Int ->
-- | 'totalAgents'
Prelude.Int ->
-- | 'unknownAgents'
Prelude.Int ->
CustomerAgentInfo
newCustomerAgentInfo
pActiveAgents_
pHealthyAgents_
pBlackListedAgents_
pShutdownAgents_
pUnhealthyAgents_
pTotalAgents_
pUnknownAgents_ =
CustomerAgentInfo'
{ activeAgents = pActiveAgents_,
healthyAgents = pHealthyAgents_,
blackListedAgents = pBlackListedAgents_,
shutdownAgents = pShutdownAgents_,
unhealthyAgents = pUnhealthyAgents_,
totalAgents = pTotalAgents_,
unknownAgents = pUnknownAgents_
}
-- | Number of active discovery agents.
customerAgentInfo_activeAgents :: Lens.Lens' CustomerAgentInfo Prelude.Int
customerAgentInfo_activeAgents = Lens.lens (\CustomerAgentInfo' {activeAgents} -> activeAgents) (\s@CustomerAgentInfo' {} a -> s {activeAgents = a} :: CustomerAgentInfo)
-- | Number of healthy discovery agents
customerAgentInfo_healthyAgents :: Lens.Lens' CustomerAgentInfo Prelude.Int
customerAgentInfo_healthyAgents = Lens.lens (\CustomerAgentInfo' {healthyAgents} -> healthyAgents) (\s@CustomerAgentInfo' {} a -> s {healthyAgents = a} :: CustomerAgentInfo)
-- | Number of blacklisted discovery agents.
customerAgentInfo_blackListedAgents :: Lens.Lens' CustomerAgentInfo Prelude.Int
customerAgentInfo_blackListedAgents = Lens.lens (\CustomerAgentInfo' {blackListedAgents} -> blackListedAgents) (\s@CustomerAgentInfo' {} a -> s {blackListedAgents = a} :: CustomerAgentInfo)
-- | Number of discovery agents with status SHUTDOWN.
customerAgentInfo_shutdownAgents :: Lens.Lens' CustomerAgentInfo Prelude.Int
customerAgentInfo_shutdownAgents = Lens.lens (\CustomerAgentInfo' {shutdownAgents} -> shutdownAgents) (\s@CustomerAgentInfo' {} a -> s {shutdownAgents = a} :: CustomerAgentInfo)
-- | Number of unhealthy discovery agents.
customerAgentInfo_unhealthyAgents :: Lens.Lens' CustomerAgentInfo Prelude.Int
customerAgentInfo_unhealthyAgents = Lens.lens (\CustomerAgentInfo' {unhealthyAgents} -> unhealthyAgents) (\s@CustomerAgentInfo' {} a -> s {unhealthyAgents = a} :: CustomerAgentInfo)
-- | Total number of discovery agents.
customerAgentInfo_totalAgents :: Lens.Lens' CustomerAgentInfo Prelude.Int
customerAgentInfo_totalAgents = Lens.lens (\CustomerAgentInfo' {totalAgents} -> totalAgents) (\s@CustomerAgentInfo' {} a -> s {totalAgents = a} :: CustomerAgentInfo)
-- | Number of unknown discovery agents.
customerAgentInfo_unknownAgents :: Lens.Lens' CustomerAgentInfo Prelude.Int
customerAgentInfo_unknownAgents = Lens.lens (\CustomerAgentInfo' {unknownAgents} -> unknownAgents) (\s@CustomerAgentInfo' {} a -> s {unknownAgents = a} :: CustomerAgentInfo)
instance Data.FromJSON CustomerAgentInfo where
parseJSON =
Data.withObject
"CustomerAgentInfo"
( \x ->
CustomerAgentInfo'
Prelude.<$> (x Data..: "activeAgents")
Prelude.<*> (x Data..: "healthyAgents")
Prelude.<*> (x Data..: "blackListedAgents")
Prelude.<*> (x Data..: "shutdownAgents")
Prelude.<*> (x Data..: "unhealthyAgents")
Prelude.<*> (x Data..: "totalAgents")
Prelude.<*> (x Data..: "unknownAgents")
)
instance Prelude.Hashable CustomerAgentInfo where
hashWithSalt _salt CustomerAgentInfo' {..} =
_salt
`Prelude.hashWithSalt` activeAgents
`Prelude.hashWithSalt` healthyAgents
`Prelude.hashWithSalt` blackListedAgents
`Prelude.hashWithSalt` shutdownAgents
`Prelude.hashWithSalt` unhealthyAgents
`Prelude.hashWithSalt` totalAgents
`Prelude.hashWithSalt` unknownAgents
instance Prelude.NFData CustomerAgentInfo where
rnf CustomerAgentInfo' {..} =
Prelude.rnf activeAgents
`Prelude.seq` Prelude.rnf healthyAgents
`Prelude.seq` Prelude.rnf blackListedAgents
`Prelude.seq` Prelude.rnf shutdownAgents
`Prelude.seq` Prelude.rnf unhealthyAgents
`Prelude.seq` Prelude.rnf totalAgents
`Prelude.seq` Prelude.rnf unknownAgents