{-# 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.IoTWireless.UpdateNetworkAnalyzerConfiguration
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Update network analyzer configuration.
module Amazonka.IoTWireless.UpdateNetworkAnalyzerConfiguration
  ( -- * Creating a Request
    UpdateNetworkAnalyzerConfiguration (..),
    newUpdateNetworkAnalyzerConfiguration,

    -- * Request Lenses
    updateNetworkAnalyzerConfiguration_description,
    updateNetworkAnalyzerConfiguration_traceContent,
    updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd,
    updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove,
    updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd,
    updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove,
    updateNetworkAnalyzerConfiguration_configurationName,

    -- * Destructuring the Response
    UpdateNetworkAnalyzerConfigurationResponse (..),
    newUpdateNetworkAnalyzerConfigurationResponse,

    -- * Response Lenses
    updateNetworkAnalyzerConfigurationResponse_httpStatus,
  )
where

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

-- | /See:/ 'newUpdateNetworkAnalyzerConfiguration' smart constructor.
data UpdateNetworkAnalyzerConfiguration = UpdateNetworkAnalyzerConfiguration'
  { UpdateNetworkAnalyzerConfiguration -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    UpdateNetworkAnalyzerConfiguration -> Maybe TraceContent
traceContent :: Prelude.Maybe TraceContent,
    -- | Wireless device resources to add to the network analyzer configuration.
    -- Provide the @WirelessDeviceId@ of the resource to add in the input
    -- array.
    UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessDevicesToAdd :: Prelude.Maybe [Prelude.Text],
    -- | Wireless device resources to remove from the network analyzer
    -- configuration. Provide the @WirelessDeviceId@ of the resources to remove
    -- in the input array.
    UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessDevicesToRemove :: Prelude.Maybe [Prelude.Text],
    -- | Wireless gateway resources to add to the network analyzer configuration.
    -- Provide the @WirelessGatewayId@ of the resource to add in the input
    -- array.
    UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessGatewaysToAdd :: Prelude.Maybe [Prelude.Text],
    -- | Wireless gateway resources to remove from the network analyzer
    -- configuration. Provide the @WirelessGatewayId@ of the resources to
    -- remove in the input array.
    UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessGatewaysToRemove :: Prelude.Maybe [Prelude.Text],
    UpdateNetworkAnalyzerConfiguration -> Text
configurationName :: Prelude.Text
  }
  deriving (UpdateNetworkAnalyzerConfiguration
-> UpdateNetworkAnalyzerConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateNetworkAnalyzerConfiguration
-> UpdateNetworkAnalyzerConfiguration -> Bool
$c/= :: UpdateNetworkAnalyzerConfiguration
-> UpdateNetworkAnalyzerConfiguration -> Bool
== :: UpdateNetworkAnalyzerConfiguration
-> UpdateNetworkAnalyzerConfiguration -> Bool
$c== :: UpdateNetworkAnalyzerConfiguration
-> UpdateNetworkAnalyzerConfiguration -> Bool
Prelude.Eq, ReadPrec [UpdateNetworkAnalyzerConfiguration]
ReadPrec UpdateNetworkAnalyzerConfiguration
Int -> ReadS UpdateNetworkAnalyzerConfiguration
ReadS [UpdateNetworkAnalyzerConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateNetworkAnalyzerConfiguration]
$creadListPrec :: ReadPrec [UpdateNetworkAnalyzerConfiguration]
readPrec :: ReadPrec UpdateNetworkAnalyzerConfiguration
$creadPrec :: ReadPrec UpdateNetworkAnalyzerConfiguration
readList :: ReadS [UpdateNetworkAnalyzerConfiguration]
$creadList :: ReadS [UpdateNetworkAnalyzerConfiguration]
readsPrec :: Int -> ReadS UpdateNetworkAnalyzerConfiguration
$creadsPrec :: Int -> ReadS UpdateNetworkAnalyzerConfiguration
Prelude.Read, Int -> UpdateNetworkAnalyzerConfiguration -> ShowS
[UpdateNetworkAnalyzerConfiguration] -> ShowS
UpdateNetworkAnalyzerConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateNetworkAnalyzerConfiguration] -> ShowS
$cshowList :: [UpdateNetworkAnalyzerConfiguration] -> ShowS
show :: UpdateNetworkAnalyzerConfiguration -> String
$cshow :: UpdateNetworkAnalyzerConfiguration -> String
showsPrec :: Int -> UpdateNetworkAnalyzerConfiguration -> ShowS
$cshowsPrec :: Int -> UpdateNetworkAnalyzerConfiguration -> ShowS
Prelude.Show, forall x.
Rep UpdateNetworkAnalyzerConfiguration x
-> UpdateNetworkAnalyzerConfiguration
forall x.
UpdateNetworkAnalyzerConfiguration
-> Rep UpdateNetworkAnalyzerConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateNetworkAnalyzerConfiguration x
-> UpdateNetworkAnalyzerConfiguration
$cfrom :: forall x.
UpdateNetworkAnalyzerConfiguration
-> Rep UpdateNetworkAnalyzerConfiguration x
Prelude.Generic)

-- |
-- Create a value of 'UpdateNetworkAnalyzerConfiguration' 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:
--
-- 'description', 'updateNetworkAnalyzerConfiguration_description' - Undocumented member.
--
-- 'traceContent', 'updateNetworkAnalyzerConfiguration_traceContent' - Undocumented member.
--
-- 'wirelessDevicesToAdd', 'updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd' - Wireless device resources to add to the network analyzer configuration.
-- Provide the @WirelessDeviceId@ of the resource to add in the input
-- array.
--
-- 'wirelessDevicesToRemove', 'updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove' - Wireless device resources to remove from the network analyzer
-- configuration. Provide the @WirelessDeviceId@ of the resources to remove
-- in the input array.
--
-- 'wirelessGatewaysToAdd', 'updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd' - Wireless gateway resources to add to the network analyzer configuration.
-- Provide the @WirelessGatewayId@ of the resource to add in the input
-- array.
--
-- 'wirelessGatewaysToRemove', 'updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove' - Wireless gateway resources to remove from the network analyzer
-- configuration. Provide the @WirelessGatewayId@ of the resources to
-- remove in the input array.
--
-- 'configurationName', 'updateNetworkAnalyzerConfiguration_configurationName' - Undocumented member.
newUpdateNetworkAnalyzerConfiguration ::
  -- | 'configurationName'
  Prelude.Text ->
  UpdateNetworkAnalyzerConfiguration
newUpdateNetworkAnalyzerConfiguration :: Text -> UpdateNetworkAnalyzerConfiguration
newUpdateNetworkAnalyzerConfiguration
  Text
pConfigurationName_ =
    UpdateNetworkAnalyzerConfiguration'
      { $sel:description:UpdateNetworkAnalyzerConfiguration' :: Maybe Text
description =
          forall a. Maybe a
Prelude.Nothing,
        $sel:traceContent:UpdateNetworkAnalyzerConfiguration' :: Maybe TraceContent
traceContent = forall a. Maybe a
Prelude.Nothing,
        $sel:wirelessDevicesToAdd:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessDevicesToAdd = forall a. Maybe a
Prelude.Nothing,
        $sel:wirelessDevicesToRemove:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessDevicesToRemove =
          forall a. Maybe a
Prelude.Nothing,
        $sel:wirelessGatewaysToAdd:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessGatewaysToAdd = forall a. Maybe a
Prelude.Nothing,
        $sel:wirelessGatewaysToRemove:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessGatewaysToRemove =
          forall a. Maybe a
Prelude.Nothing,
        $sel:configurationName:UpdateNetworkAnalyzerConfiguration' :: Text
configurationName = Text
pConfigurationName_
      }

-- | Undocumented member.
updateNetworkAnalyzerConfiguration_description :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe Prelude.Text)
updateNetworkAnalyzerConfiguration_description :: Lens' UpdateNetworkAnalyzerConfiguration (Maybe Text)
updateNetworkAnalyzerConfiguration_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkAnalyzerConfiguration' {Maybe Text
description :: Maybe Text
$sel:description:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateNetworkAnalyzerConfiguration
s@UpdateNetworkAnalyzerConfiguration' {} Maybe Text
a -> UpdateNetworkAnalyzerConfiguration
s {$sel:description:UpdateNetworkAnalyzerConfiguration' :: Maybe Text
description = Maybe Text
a} :: UpdateNetworkAnalyzerConfiguration)

-- | Undocumented member.
updateNetworkAnalyzerConfiguration_traceContent :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe TraceContent)
updateNetworkAnalyzerConfiguration_traceContent :: Lens' UpdateNetworkAnalyzerConfiguration (Maybe TraceContent)
updateNetworkAnalyzerConfiguration_traceContent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkAnalyzerConfiguration' {Maybe TraceContent
traceContent :: Maybe TraceContent
$sel:traceContent:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe TraceContent
traceContent} -> Maybe TraceContent
traceContent) (\s :: UpdateNetworkAnalyzerConfiguration
s@UpdateNetworkAnalyzerConfiguration' {} Maybe TraceContent
a -> UpdateNetworkAnalyzerConfiguration
s {$sel:traceContent:UpdateNetworkAnalyzerConfiguration' :: Maybe TraceContent
traceContent = Maybe TraceContent
a} :: UpdateNetworkAnalyzerConfiguration)

-- | Wireless device resources to add to the network analyzer configuration.
-- Provide the @WirelessDeviceId@ of the resource to add in the input
-- array.
updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])
updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd :: Lens' UpdateNetworkAnalyzerConfiguration (Maybe [Text])
updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
wirelessDevicesToAdd :: Maybe [Text]
$sel:wirelessDevicesToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessDevicesToAdd} -> Maybe [Text]
wirelessDevicesToAdd) (\s :: UpdateNetworkAnalyzerConfiguration
s@UpdateNetworkAnalyzerConfiguration' {} Maybe [Text]
a -> UpdateNetworkAnalyzerConfiguration
s {$sel:wirelessDevicesToAdd:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessDevicesToAdd = Maybe [Text]
a} :: UpdateNetworkAnalyzerConfiguration) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Wireless device resources to remove from the network analyzer
-- configuration. Provide the @WirelessDeviceId@ of the resources to remove
-- in the input array.
updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])
updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove :: Lens' UpdateNetworkAnalyzerConfiguration (Maybe [Text])
updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
wirelessDevicesToRemove :: Maybe [Text]
$sel:wirelessDevicesToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessDevicesToRemove} -> Maybe [Text]
wirelessDevicesToRemove) (\s :: UpdateNetworkAnalyzerConfiguration
s@UpdateNetworkAnalyzerConfiguration' {} Maybe [Text]
a -> UpdateNetworkAnalyzerConfiguration
s {$sel:wirelessDevicesToRemove:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessDevicesToRemove = Maybe [Text]
a} :: UpdateNetworkAnalyzerConfiguration) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Wireless gateway resources to add to the network analyzer configuration.
-- Provide the @WirelessGatewayId@ of the resource to add in the input
-- array.
updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])
updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd :: Lens' UpdateNetworkAnalyzerConfiguration (Maybe [Text])
updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
wirelessGatewaysToAdd :: Maybe [Text]
$sel:wirelessGatewaysToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessGatewaysToAdd} -> Maybe [Text]
wirelessGatewaysToAdd) (\s :: UpdateNetworkAnalyzerConfiguration
s@UpdateNetworkAnalyzerConfiguration' {} Maybe [Text]
a -> UpdateNetworkAnalyzerConfiguration
s {$sel:wirelessGatewaysToAdd:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessGatewaysToAdd = Maybe [Text]
a} :: UpdateNetworkAnalyzerConfiguration) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Wireless gateway resources to remove from the network analyzer
-- configuration. Provide the @WirelessGatewayId@ of the resources to
-- remove in the input array.
updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])
updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove :: Lens' UpdateNetworkAnalyzerConfiguration (Maybe [Text])
updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
wirelessGatewaysToRemove :: Maybe [Text]
$sel:wirelessGatewaysToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
wirelessGatewaysToRemove} -> Maybe [Text]
wirelessGatewaysToRemove) (\s :: UpdateNetworkAnalyzerConfiguration
s@UpdateNetworkAnalyzerConfiguration' {} Maybe [Text]
a -> UpdateNetworkAnalyzerConfiguration
s {$sel:wirelessGatewaysToRemove:UpdateNetworkAnalyzerConfiguration' :: Maybe [Text]
wirelessGatewaysToRemove = Maybe [Text]
a} :: UpdateNetworkAnalyzerConfiguration) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
updateNetworkAnalyzerConfiguration_configurationName :: Lens.Lens' UpdateNetworkAnalyzerConfiguration Prelude.Text
updateNetworkAnalyzerConfiguration_configurationName :: Lens' UpdateNetworkAnalyzerConfiguration Text
updateNetworkAnalyzerConfiguration_configurationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateNetworkAnalyzerConfiguration' {Text
configurationName :: Text
$sel:configurationName:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Text
configurationName} -> Text
configurationName) (\s :: UpdateNetworkAnalyzerConfiguration
s@UpdateNetworkAnalyzerConfiguration' {} Text
a -> UpdateNetworkAnalyzerConfiguration
s {$sel:configurationName:UpdateNetworkAnalyzerConfiguration' :: Text
configurationName = Text
a} :: UpdateNetworkAnalyzerConfiguration)

instance
  Core.AWSRequest
    UpdateNetworkAnalyzerConfiguration
  where
  type
    AWSResponse UpdateNetworkAnalyzerConfiguration =
      UpdateNetworkAnalyzerConfigurationResponse
  request :: (Service -> Service)
-> UpdateNetworkAnalyzerConfiguration
-> Request UpdateNetworkAnalyzerConfiguration
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.patchJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateNetworkAnalyzerConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse UpdateNetworkAnalyzerConfiguration)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> UpdateNetworkAnalyzerConfigurationResponse
UpdateNetworkAnalyzerConfigurationResponse'
            forall (f :: * -> *) a b. Functor 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
    UpdateNetworkAnalyzerConfiguration
  where
  hashWithSalt :: Int -> UpdateNetworkAnalyzerConfiguration -> Int
hashWithSalt
    Int
_salt
    UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
Maybe Text
Maybe TraceContent
Text
configurationName :: Text
wirelessGatewaysToRemove :: Maybe [Text]
wirelessGatewaysToAdd :: Maybe [Text]
wirelessDevicesToRemove :: Maybe [Text]
wirelessDevicesToAdd :: Maybe [Text]
traceContent :: Maybe TraceContent
description :: Maybe Text
$sel:configurationName:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Text
$sel:wirelessGatewaysToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessGatewaysToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:traceContent:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe TraceContent
$sel:description:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TraceContent
traceContent
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
wirelessDevicesToAdd
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
wirelessDevicesToRemove
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
wirelessGatewaysToAdd
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
wirelessGatewaysToRemove
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
configurationName

instance
  Prelude.NFData
    UpdateNetworkAnalyzerConfiguration
  where
  rnf :: UpdateNetworkAnalyzerConfiguration -> ()
rnf UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
Maybe Text
Maybe TraceContent
Text
configurationName :: Text
wirelessGatewaysToRemove :: Maybe [Text]
wirelessGatewaysToAdd :: Maybe [Text]
wirelessDevicesToRemove :: Maybe [Text]
wirelessDevicesToAdd :: Maybe [Text]
traceContent :: Maybe TraceContent
description :: Maybe Text
$sel:configurationName:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Text
$sel:wirelessGatewaysToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessGatewaysToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:traceContent:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe TraceContent
$sel:description:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TraceContent
traceContent
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
wirelessDevicesToAdd
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
wirelessDevicesToRemove
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
wirelessGatewaysToAdd
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
wirelessGatewaysToRemove
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
configurationName

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

instance
  Data.ToJSON
    UpdateNetworkAnalyzerConfiguration
  where
  toJSON :: UpdateNetworkAnalyzerConfiguration -> Value
toJSON UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
Maybe Text
Maybe TraceContent
Text
configurationName :: Text
wirelessGatewaysToRemove :: Maybe [Text]
wirelessGatewaysToAdd :: Maybe [Text]
wirelessDevicesToRemove :: Maybe [Text]
wirelessDevicesToAdd :: Maybe [Text]
traceContent :: Maybe TraceContent
description :: Maybe Text
$sel:configurationName:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Text
$sel:wirelessGatewaysToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessGatewaysToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:traceContent:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe TraceContent
$sel:description:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Description" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
            (Key
"TraceContent" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TraceContent
traceContent,
            (Key
"WirelessDevicesToAdd" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
wirelessDevicesToAdd,
            (Key
"WirelessDevicesToRemove" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
wirelessDevicesToRemove,
            (Key
"WirelessGatewaysToAdd" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
wirelessGatewaysToAdd,
            (Key
"WirelessGatewaysToRemove" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
wirelessGatewaysToRemove
          ]
      )

instance
  Data.ToPath
    UpdateNetworkAnalyzerConfiguration
  where
  toPath :: UpdateNetworkAnalyzerConfiguration -> ByteString
toPath UpdateNetworkAnalyzerConfiguration' {Maybe [Text]
Maybe Text
Maybe TraceContent
Text
configurationName :: Text
wirelessGatewaysToRemove :: Maybe [Text]
wirelessGatewaysToAdd :: Maybe [Text]
wirelessDevicesToRemove :: Maybe [Text]
wirelessDevicesToAdd :: Maybe [Text]
traceContent :: Maybe TraceContent
description :: Maybe Text
$sel:configurationName:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Text
$sel:wirelessGatewaysToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessGatewaysToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToRemove:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:wirelessDevicesToAdd:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe [Text]
$sel:traceContent:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe TraceContent
$sel:description:UpdateNetworkAnalyzerConfiguration' :: UpdateNetworkAnalyzerConfiguration -> Maybe Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/network-analyzer-configurations/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
configurationName
      ]

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

-- | /See:/ 'newUpdateNetworkAnalyzerConfigurationResponse' smart constructor.
data UpdateNetworkAnalyzerConfigurationResponse = UpdateNetworkAnalyzerConfigurationResponse'
  { -- | The response's http status code.
    UpdateNetworkAnalyzerConfigurationResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateNetworkAnalyzerConfigurationResponse
-> UpdateNetworkAnalyzerConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateNetworkAnalyzerConfigurationResponse
-> UpdateNetworkAnalyzerConfigurationResponse -> Bool
$c/= :: UpdateNetworkAnalyzerConfigurationResponse
-> UpdateNetworkAnalyzerConfigurationResponse -> Bool
== :: UpdateNetworkAnalyzerConfigurationResponse
-> UpdateNetworkAnalyzerConfigurationResponse -> Bool
$c== :: UpdateNetworkAnalyzerConfigurationResponse
-> UpdateNetworkAnalyzerConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [UpdateNetworkAnalyzerConfigurationResponse]
ReadPrec UpdateNetworkAnalyzerConfigurationResponse
Int -> ReadS UpdateNetworkAnalyzerConfigurationResponse
ReadS [UpdateNetworkAnalyzerConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateNetworkAnalyzerConfigurationResponse]
$creadListPrec :: ReadPrec [UpdateNetworkAnalyzerConfigurationResponse]
readPrec :: ReadPrec UpdateNetworkAnalyzerConfigurationResponse
$creadPrec :: ReadPrec UpdateNetworkAnalyzerConfigurationResponse
readList :: ReadS [UpdateNetworkAnalyzerConfigurationResponse]
$creadList :: ReadS [UpdateNetworkAnalyzerConfigurationResponse]
readsPrec :: Int -> ReadS UpdateNetworkAnalyzerConfigurationResponse
$creadsPrec :: Int -> ReadS UpdateNetworkAnalyzerConfigurationResponse
Prelude.Read, Int -> UpdateNetworkAnalyzerConfigurationResponse -> ShowS
[UpdateNetworkAnalyzerConfigurationResponse] -> ShowS
UpdateNetworkAnalyzerConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateNetworkAnalyzerConfigurationResponse] -> ShowS
$cshowList :: [UpdateNetworkAnalyzerConfigurationResponse] -> ShowS
show :: UpdateNetworkAnalyzerConfigurationResponse -> String
$cshow :: UpdateNetworkAnalyzerConfigurationResponse -> String
showsPrec :: Int -> UpdateNetworkAnalyzerConfigurationResponse -> ShowS
$cshowsPrec :: Int -> UpdateNetworkAnalyzerConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateNetworkAnalyzerConfigurationResponse x
-> UpdateNetworkAnalyzerConfigurationResponse
forall x.
UpdateNetworkAnalyzerConfigurationResponse
-> Rep UpdateNetworkAnalyzerConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateNetworkAnalyzerConfigurationResponse x
-> UpdateNetworkAnalyzerConfigurationResponse
$cfrom :: forall x.
UpdateNetworkAnalyzerConfigurationResponse
-> Rep UpdateNetworkAnalyzerConfigurationResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateNetworkAnalyzerConfigurationResponse' 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:
--
-- 'httpStatus', 'updateNetworkAnalyzerConfigurationResponse_httpStatus' - The response's http status code.
newUpdateNetworkAnalyzerConfigurationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateNetworkAnalyzerConfigurationResponse
newUpdateNetworkAnalyzerConfigurationResponse :: Int -> UpdateNetworkAnalyzerConfigurationResponse
newUpdateNetworkAnalyzerConfigurationResponse
  Int
pHttpStatus_ =
    UpdateNetworkAnalyzerConfigurationResponse'
      { $sel:httpStatus:UpdateNetworkAnalyzerConfigurationResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

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

instance
  Prelude.NFData
    UpdateNetworkAnalyzerConfigurationResponse
  where
  rnf :: UpdateNetworkAnalyzerConfigurationResponse -> ()
rnf UpdateNetworkAnalyzerConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateNetworkAnalyzerConfigurationResponse' :: UpdateNetworkAnalyzerConfigurationResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus