{-# 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.ApplicationInsights.DescribeComponentConfiguration
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes the monitoring configuration of the component.
module Amazonka.ApplicationInsights.DescribeComponentConfiguration
  ( -- * Creating a Request
    DescribeComponentConfiguration (..),
    newDescribeComponentConfiguration,

    -- * Request Lenses
    describeComponentConfiguration_resourceGroupName,
    describeComponentConfiguration_componentName,

    -- * Destructuring the Response
    DescribeComponentConfigurationResponse (..),
    newDescribeComponentConfigurationResponse,

    -- * Response Lenses
    describeComponentConfigurationResponse_componentConfiguration,
    describeComponentConfigurationResponse_monitor,
    describeComponentConfigurationResponse_tier,
    describeComponentConfigurationResponse_httpStatus,
  )
where

import Amazonka.ApplicationInsights.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeComponentConfiguration' smart constructor.
data DescribeComponentConfiguration = DescribeComponentConfiguration'
  { -- | The name of the resource group.
    DescribeComponentConfiguration -> Text
resourceGroupName :: Prelude.Text,
    -- | The name of the component.
    DescribeComponentConfiguration -> Text
componentName :: Prelude.Text
  }
  deriving (DescribeComponentConfiguration
-> DescribeComponentConfiguration -> Bool
(DescribeComponentConfiguration
 -> DescribeComponentConfiguration -> Bool)
-> (DescribeComponentConfiguration
    -> DescribeComponentConfiguration -> Bool)
-> Eq DescribeComponentConfiguration
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeComponentConfiguration
-> DescribeComponentConfiguration -> Bool
$c/= :: DescribeComponentConfiguration
-> DescribeComponentConfiguration -> Bool
== :: DescribeComponentConfiguration
-> DescribeComponentConfiguration -> Bool
$c== :: DescribeComponentConfiguration
-> DescribeComponentConfiguration -> Bool
Prelude.Eq, ReadPrec [DescribeComponentConfiguration]
ReadPrec DescribeComponentConfiguration
Int -> ReadS DescribeComponentConfiguration
ReadS [DescribeComponentConfiguration]
(Int -> ReadS DescribeComponentConfiguration)
-> ReadS [DescribeComponentConfiguration]
-> ReadPrec DescribeComponentConfiguration
-> ReadPrec [DescribeComponentConfiguration]
-> Read DescribeComponentConfiguration
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeComponentConfiguration]
$creadListPrec :: ReadPrec [DescribeComponentConfiguration]
readPrec :: ReadPrec DescribeComponentConfiguration
$creadPrec :: ReadPrec DescribeComponentConfiguration
readList :: ReadS [DescribeComponentConfiguration]
$creadList :: ReadS [DescribeComponentConfiguration]
readsPrec :: Int -> ReadS DescribeComponentConfiguration
$creadsPrec :: Int -> ReadS DescribeComponentConfiguration
Prelude.Read, Int -> DescribeComponentConfiguration -> ShowS
[DescribeComponentConfiguration] -> ShowS
DescribeComponentConfiguration -> String
(Int -> DescribeComponentConfiguration -> ShowS)
-> (DescribeComponentConfiguration -> String)
-> ([DescribeComponentConfiguration] -> ShowS)
-> Show DescribeComponentConfiguration
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeComponentConfiguration] -> ShowS
$cshowList :: [DescribeComponentConfiguration] -> ShowS
show :: DescribeComponentConfiguration -> String
$cshow :: DescribeComponentConfiguration -> String
showsPrec :: Int -> DescribeComponentConfiguration -> ShowS
$cshowsPrec :: Int -> DescribeComponentConfiguration -> ShowS
Prelude.Show, (forall x.
 DescribeComponentConfiguration
 -> Rep DescribeComponentConfiguration x)
-> (forall x.
    Rep DescribeComponentConfiguration x
    -> DescribeComponentConfiguration)
-> Generic DescribeComponentConfiguration
forall x.
Rep DescribeComponentConfiguration x
-> DescribeComponentConfiguration
forall x.
DescribeComponentConfiguration
-> Rep DescribeComponentConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeComponentConfiguration x
-> DescribeComponentConfiguration
$cfrom :: forall x.
DescribeComponentConfiguration
-> Rep DescribeComponentConfiguration x
Prelude.Generic)

-- |
-- Create a value of 'DescribeComponentConfiguration' 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:
--
-- 'resourceGroupName', 'describeComponentConfiguration_resourceGroupName' - The name of the resource group.
--
-- 'componentName', 'describeComponentConfiguration_componentName' - The name of the component.
newDescribeComponentConfiguration ::
  -- | 'resourceGroupName'
  Prelude.Text ->
  -- | 'componentName'
  Prelude.Text ->
  DescribeComponentConfiguration
newDescribeComponentConfiguration :: Text -> Text -> DescribeComponentConfiguration
newDescribeComponentConfiguration
  Text
pResourceGroupName_
  Text
pComponentName_ =
    DescribeComponentConfiguration' :: Text -> Text -> DescribeComponentConfiguration
DescribeComponentConfiguration'
      { $sel:resourceGroupName:DescribeComponentConfiguration' :: Text
resourceGroupName =
          Text
pResourceGroupName_,
        $sel:componentName:DescribeComponentConfiguration' :: Text
componentName = Text
pComponentName_
      }

-- | The name of the resource group.
describeComponentConfiguration_resourceGroupName :: Lens.Lens' DescribeComponentConfiguration Prelude.Text
describeComponentConfiguration_resourceGroupName :: (Text -> f Text)
-> DescribeComponentConfiguration
-> f DescribeComponentConfiguration
describeComponentConfiguration_resourceGroupName = (DescribeComponentConfiguration -> Text)
-> (DescribeComponentConfiguration
    -> Text -> DescribeComponentConfiguration)
-> Lens
     DescribeComponentConfiguration
     DescribeComponentConfiguration
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeComponentConfiguration' {Text
resourceGroupName :: Text
$sel:resourceGroupName:DescribeComponentConfiguration' :: DescribeComponentConfiguration -> Text
resourceGroupName} -> Text
resourceGroupName) (\s :: DescribeComponentConfiguration
s@DescribeComponentConfiguration' {} Text
a -> DescribeComponentConfiguration
s {$sel:resourceGroupName:DescribeComponentConfiguration' :: Text
resourceGroupName = Text
a} :: DescribeComponentConfiguration)

-- | The name of the component.
describeComponentConfiguration_componentName :: Lens.Lens' DescribeComponentConfiguration Prelude.Text
describeComponentConfiguration_componentName :: (Text -> f Text)
-> DescribeComponentConfiguration
-> f DescribeComponentConfiguration
describeComponentConfiguration_componentName = (DescribeComponentConfiguration -> Text)
-> (DescribeComponentConfiguration
    -> Text -> DescribeComponentConfiguration)
-> Lens
     DescribeComponentConfiguration
     DescribeComponentConfiguration
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeComponentConfiguration' {Text
componentName :: Text
$sel:componentName:DescribeComponentConfiguration' :: DescribeComponentConfiguration -> Text
componentName} -> Text
componentName) (\s :: DescribeComponentConfiguration
s@DescribeComponentConfiguration' {} Text
a -> DescribeComponentConfiguration
s {$sel:componentName:DescribeComponentConfiguration' :: Text
componentName = Text
a} :: DescribeComponentConfiguration)

instance
  Core.AWSRequest
    DescribeComponentConfiguration
  where
  type
    AWSResponse DescribeComponentConfiguration =
      DescribeComponentConfigurationResponse
  request :: DescribeComponentConfiguration
-> Request DescribeComponentConfiguration
request = Service
-> DescribeComponentConfiguration
-> Request DescribeComponentConfiguration
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeComponentConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeComponentConfiguration)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeComponentConfiguration))
-> Logger
-> Service
-> Proxy DescribeComponentConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeComponentConfiguration)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Bool
-> Maybe Tier
-> Int
-> DescribeComponentConfigurationResponse
DescribeComponentConfigurationResponse'
            (Maybe Text
 -> Maybe Bool
 -> Maybe Tier
 -> Int
 -> DescribeComponentConfigurationResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Bool
      -> Maybe Tier -> Int -> DescribeComponentConfigurationResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ComponentConfiguration")
            Either
  String
  (Maybe Bool
   -> Maybe Tier -> Int -> DescribeComponentConfigurationResponse)
-> Either String (Maybe Bool)
-> Either
     String
     (Maybe Tier -> Int -> DescribeComponentConfigurationResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Monitor")
            Either
  String
  (Maybe Tier -> Int -> DescribeComponentConfigurationResponse)
-> Either String (Maybe Tier)
-> Either String (Int -> DescribeComponentConfigurationResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Tier)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Tier")
            Either String (Int -> DescribeComponentConfigurationResponse)
-> Either String Int
-> Either String DescribeComponentConfigurationResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance
  Prelude.Hashable
    DescribeComponentConfiguration

instance
  Prelude.NFData
    DescribeComponentConfiguration

instance
  Core.ToHeaders
    DescribeComponentConfiguration
  where
  toHeaders :: DescribeComponentConfiguration -> ResponseHeaders
toHeaders =
    ResponseHeaders
-> DescribeComponentConfiguration -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"EC2WindowsBarleyService.DescribeComponentConfiguration" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON DescribeComponentConfiguration where
  toJSON :: DescribeComponentConfiguration -> Value
toJSON DescribeComponentConfiguration' {Text
componentName :: Text
resourceGroupName :: Text
$sel:componentName:DescribeComponentConfiguration' :: DescribeComponentConfiguration -> Text
$sel:resourceGroupName:DescribeComponentConfiguration' :: DescribeComponentConfiguration -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              (Text
"ResourceGroupName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
resourceGroupName),
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              (Text
"ComponentName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
componentName)
          ]
      )

instance Core.ToPath DescribeComponentConfiguration where
  toPath :: DescribeComponentConfiguration -> ByteString
toPath = ByteString -> DescribeComponentConfiguration -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Core.ToQuery DescribeComponentConfiguration where
  toQuery :: DescribeComponentConfiguration -> QueryString
toQuery = QueryString -> DescribeComponentConfiguration -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeComponentConfigurationResponse' smart constructor.
data DescribeComponentConfigurationResponse = DescribeComponentConfigurationResponse'
  { -- | The configuration settings of the component. The value is the escaped
    -- JSON of the configuration.
    DescribeComponentConfigurationResponse -> Maybe Text
componentConfiguration :: Prelude.Maybe Prelude.Text,
    -- | Indicates whether the application component is monitored.
    DescribeComponentConfigurationResponse -> Maybe Bool
monitor :: Prelude.Maybe Prelude.Bool,
    -- | The tier of the application component. Supported tiers include
    -- @DOT_NET_CORE@, @DOT_NET_WORKER@, @DOT_NET_WEB@, @SQL_SERVER@, and
    -- @DEFAULT@
    DescribeComponentConfigurationResponse -> Maybe Tier
tier :: Prelude.Maybe Tier,
    -- | The response's http status code.
    DescribeComponentConfigurationResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeComponentConfigurationResponse
-> DescribeComponentConfigurationResponse -> Bool
(DescribeComponentConfigurationResponse
 -> DescribeComponentConfigurationResponse -> Bool)
-> (DescribeComponentConfigurationResponse
    -> DescribeComponentConfigurationResponse -> Bool)
-> Eq DescribeComponentConfigurationResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeComponentConfigurationResponse
-> DescribeComponentConfigurationResponse -> Bool
$c/= :: DescribeComponentConfigurationResponse
-> DescribeComponentConfigurationResponse -> Bool
== :: DescribeComponentConfigurationResponse
-> DescribeComponentConfigurationResponse -> Bool
$c== :: DescribeComponentConfigurationResponse
-> DescribeComponentConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [DescribeComponentConfigurationResponse]
ReadPrec DescribeComponentConfigurationResponse
Int -> ReadS DescribeComponentConfigurationResponse
ReadS [DescribeComponentConfigurationResponse]
(Int -> ReadS DescribeComponentConfigurationResponse)
-> ReadS [DescribeComponentConfigurationResponse]
-> ReadPrec DescribeComponentConfigurationResponse
-> ReadPrec [DescribeComponentConfigurationResponse]
-> Read DescribeComponentConfigurationResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeComponentConfigurationResponse]
$creadListPrec :: ReadPrec [DescribeComponentConfigurationResponse]
readPrec :: ReadPrec DescribeComponentConfigurationResponse
$creadPrec :: ReadPrec DescribeComponentConfigurationResponse
readList :: ReadS [DescribeComponentConfigurationResponse]
$creadList :: ReadS [DescribeComponentConfigurationResponse]
readsPrec :: Int -> ReadS DescribeComponentConfigurationResponse
$creadsPrec :: Int -> ReadS DescribeComponentConfigurationResponse
Prelude.Read, Int -> DescribeComponentConfigurationResponse -> ShowS
[DescribeComponentConfigurationResponse] -> ShowS
DescribeComponentConfigurationResponse -> String
(Int -> DescribeComponentConfigurationResponse -> ShowS)
-> (DescribeComponentConfigurationResponse -> String)
-> ([DescribeComponentConfigurationResponse] -> ShowS)
-> Show DescribeComponentConfigurationResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeComponentConfigurationResponse] -> ShowS
$cshowList :: [DescribeComponentConfigurationResponse] -> ShowS
show :: DescribeComponentConfigurationResponse -> String
$cshow :: DescribeComponentConfigurationResponse -> String
showsPrec :: Int -> DescribeComponentConfigurationResponse -> ShowS
$cshowsPrec :: Int -> DescribeComponentConfigurationResponse -> ShowS
Prelude.Show, (forall x.
 DescribeComponentConfigurationResponse
 -> Rep DescribeComponentConfigurationResponse x)
-> (forall x.
    Rep DescribeComponentConfigurationResponse x
    -> DescribeComponentConfigurationResponse)
-> Generic DescribeComponentConfigurationResponse
forall x.
Rep DescribeComponentConfigurationResponse x
-> DescribeComponentConfigurationResponse
forall x.
DescribeComponentConfigurationResponse
-> Rep DescribeComponentConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeComponentConfigurationResponse x
-> DescribeComponentConfigurationResponse
$cfrom :: forall x.
DescribeComponentConfigurationResponse
-> Rep DescribeComponentConfigurationResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeComponentConfigurationResponse' 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:
--
-- 'componentConfiguration', 'describeComponentConfigurationResponse_componentConfiguration' - The configuration settings of the component. The value is the escaped
-- JSON of the configuration.
--
-- 'monitor', 'describeComponentConfigurationResponse_monitor' - Indicates whether the application component is monitored.
--
-- 'tier', 'describeComponentConfigurationResponse_tier' - The tier of the application component. Supported tiers include
-- @DOT_NET_CORE@, @DOT_NET_WORKER@, @DOT_NET_WEB@, @SQL_SERVER@, and
-- @DEFAULT@
--
-- 'httpStatus', 'describeComponentConfigurationResponse_httpStatus' - The response's http status code.
newDescribeComponentConfigurationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeComponentConfigurationResponse
newDescribeComponentConfigurationResponse :: Int -> DescribeComponentConfigurationResponse
newDescribeComponentConfigurationResponse
  Int
pHttpStatus_ =
    DescribeComponentConfigurationResponse' :: Maybe Text
-> Maybe Bool
-> Maybe Tier
-> Int
-> DescribeComponentConfigurationResponse
DescribeComponentConfigurationResponse'
      { $sel:componentConfiguration:DescribeComponentConfigurationResponse' :: Maybe Text
componentConfiguration =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:monitor:DescribeComponentConfigurationResponse' :: Maybe Bool
monitor = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
        $sel:tier:DescribeComponentConfigurationResponse' :: Maybe Tier
tier = Maybe Tier
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeComponentConfigurationResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The configuration settings of the component. The value is the escaped
-- JSON of the configuration.
describeComponentConfigurationResponse_componentConfiguration :: Lens.Lens' DescribeComponentConfigurationResponse (Prelude.Maybe Prelude.Text)
describeComponentConfigurationResponse_componentConfiguration :: (Maybe Text -> f (Maybe Text))
-> DescribeComponentConfigurationResponse
-> f DescribeComponentConfigurationResponse
describeComponentConfigurationResponse_componentConfiguration = (DescribeComponentConfigurationResponse -> Maybe Text)
-> (DescribeComponentConfigurationResponse
    -> Maybe Text -> DescribeComponentConfigurationResponse)
-> Lens
     DescribeComponentConfigurationResponse
     DescribeComponentConfigurationResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeComponentConfigurationResponse' {Maybe Text
componentConfiguration :: Maybe Text
$sel:componentConfiguration:DescribeComponentConfigurationResponse' :: DescribeComponentConfigurationResponse -> Maybe Text
componentConfiguration} -> Maybe Text
componentConfiguration) (\s :: DescribeComponentConfigurationResponse
s@DescribeComponentConfigurationResponse' {} Maybe Text
a -> DescribeComponentConfigurationResponse
s {$sel:componentConfiguration:DescribeComponentConfigurationResponse' :: Maybe Text
componentConfiguration = Maybe Text
a} :: DescribeComponentConfigurationResponse)

-- | Indicates whether the application component is monitored.
describeComponentConfigurationResponse_monitor :: Lens.Lens' DescribeComponentConfigurationResponse (Prelude.Maybe Prelude.Bool)
describeComponentConfigurationResponse_monitor :: (Maybe Bool -> f (Maybe Bool))
-> DescribeComponentConfigurationResponse
-> f DescribeComponentConfigurationResponse
describeComponentConfigurationResponse_monitor = (DescribeComponentConfigurationResponse -> Maybe Bool)
-> (DescribeComponentConfigurationResponse
    -> Maybe Bool -> DescribeComponentConfigurationResponse)
-> Lens
     DescribeComponentConfigurationResponse
     DescribeComponentConfigurationResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeComponentConfigurationResponse' {Maybe Bool
monitor :: Maybe Bool
$sel:monitor:DescribeComponentConfigurationResponse' :: DescribeComponentConfigurationResponse -> Maybe Bool
monitor} -> Maybe Bool
monitor) (\s :: DescribeComponentConfigurationResponse
s@DescribeComponentConfigurationResponse' {} Maybe Bool
a -> DescribeComponentConfigurationResponse
s {$sel:monitor:DescribeComponentConfigurationResponse' :: Maybe Bool
monitor = Maybe Bool
a} :: DescribeComponentConfigurationResponse)

-- | The tier of the application component. Supported tiers include
-- @DOT_NET_CORE@, @DOT_NET_WORKER@, @DOT_NET_WEB@, @SQL_SERVER@, and
-- @DEFAULT@
describeComponentConfigurationResponse_tier :: Lens.Lens' DescribeComponentConfigurationResponse (Prelude.Maybe Tier)
describeComponentConfigurationResponse_tier :: (Maybe Tier -> f (Maybe Tier))
-> DescribeComponentConfigurationResponse
-> f DescribeComponentConfigurationResponse
describeComponentConfigurationResponse_tier = (DescribeComponentConfigurationResponse -> Maybe Tier)
-> (DescribeComponentConfigurationResponse
    -> Maybe Tier -> DescribeComponentConfigurationResponse)
-> Lens
     DescribeComponentConfigurationResponse
     DescribeComponentConfigurationResponse
     (Maybe Tier)
     (Maybe Tier)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeComponentConfigurationResponse' {Maybe Tier
tier :: Maybe Tier
$sel:tier:DescribeComponentConfigurationResponse' :: DescribeComponentConfigurationResponse -> Maybe Tier
tier} -> Maybe Tier
tier) (\s :: DescribeComponentConfigurationResponse
s@DescribeComponentConfigurationResponse' {} Maybe Tier
a -> DescribeComponentConfigurationResponse
s {$sel:tier:DescribeComponentConfigurationResponse' :: Maybe Tier
tier = Maybe Tier
a} :: DescribeComponentConfigurationResponse)

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

instance
  Prelude.NFData
    DescribeComponentConfigurationResponse