{-# 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.Schemas.UpdateDiscoverer
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the discoverer
module Amazonka.Schemas.UpdateDiscoverer
  ( -- * Creating a Request
    UpdateDiscoverer (..),
    newUpdateDiscoverer,

    -- * Request Lenses
    updateDiscoverer_crossAccount,
    updateDiscoverer_description,
    updateDiscoverer_discovererId,

    -- * Destructuring the Response
    UpdateDiscovererResponse (..),
    newUpdateDiscovererResponse,

    -- * Response Lenses
    updateDiscovererResponse_crossAccount,
    updateDiscovererResponse_description,
    updateDiscovererResponse_discovererArn,
    updateDiscovererResponse_discovererId,
    updateDiscovererResponse_sourceArn,
    updateDiscovererResponse_state,
    updateDiscovererResponse_tags,
    updateDiscovererResponse_httpStatus,
  )
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
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Schemas.Types

-- | /See:/ 'newUpdateDiscoverer' smart constructor.
data UpdateDiscoverer = UpdateDiscoverer'
  { -- | Support discovery of schemas in events sent to the bus from another
    -- account. (default: true)
    UpdateDiscoverer -> Maybe Bool
crossAccount :: Prelude.Maybe Prelude.Bool,
    -- | The description of the discoverer to update.
    UpdateDiscoverer -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The ID of the discoverer.
    UpdateDiscoverer -> Text
discovererId :: Prelude.Text
  }
  deriving (UpdateDiscoverer -> UpdateDiscoverer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDiscoverer -> UpdateDiscoverer -> Bool
$c/= :: UpdateDiscoverer -> UpdateDiscoverer -> Bool
== :: UpdateDiscoverer -> UpdateDiscoverer -> Bool
$c== :: UpdateDiscoverer -> UpdateDiscoverer -> Bool
Prelude.Eq, ReadPrec [UpdateDiscoverer]
ReadPrec UpdateDiscoverer
Int -> ReadS UpdateDiscoverer
ReadS [UpdateDiscoverer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDiscoverer]
$creadListPrec :: ReadPrec [UpdateDiscoverer]
readPrec :: ReadPrec UpdateDiscoverer
$creadPrec :: ReadPrec UpdateDiscoverer
readList :: ReadS [UpdateDiscoverer]
$creadList :: ReadS [UpdateDiscoverer]
readsPrec :: Int -> ReadS UpdateDiscoverer
$creadsPrec :: Int -> ReadS UpdateDiscoverer
Prelude.Read, Int -> UpdateDiscoverer -> ShowS
[UpdateDiscoverer] -> ShowS
UpdateDiscoverer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDiscoverer] -> ShowS
$cshowList :: [UpdateDiscoverer] -> ShowS
show :: UpdateDiscoverer -> String
$cshow :: UpdateDiscoverer -> String
showsPrec :: Int -> UpdateDiscoverer -> ShowS
$cshowsPrec :: Int -> UpdateDiscoverer -> ShowS
Prelude.Show, forall x. Rep UpdateDiscoverer x -> UpdateDiscoverer
forall x. UpdateDiscoverer -> Rep UpdateDiscoverer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateDiscoverer x -> UpdateDiscoverer
$cfrom :: forall x. UpdateDiscoverer -> Rep UpdateDiscoverer x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDiscoverer' 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:
--
-- 'crossAccount', 'updateDiscoverer_crossAccount' - Support discovery of schemas in events sent to the bus from another
-- account. (default: true)
--
-- 'description', 'updateDiscoverer_description' - The description of the discoverer to update.
--
-- 'discovererId', 'updateDiscoverer_discovererId' - The ID of the discoverer.
newUpdateDiscoverer ::
  -- | 'discovererId'
  Prelude.Text ->
  UpdateDiscoverer
newUpdateDiscoverer :: Text -> UpdateDiscoverer
newUpdateDiscoverer Text
pDiscovererId_ =
  UpdateDiscoverer'
    { $sel:crossAccount:UpdateDiscoverer' :: Maybe Bool
crossAccount = forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdateDiscoverer' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:discovererId:UpdateDiscoverer' :: Text
discovererId = Text
pDiscovererId_
    }

-- | Support discovery of schemas in events sent to the bus from another
-- account. (default: true)
updateDiscoverer_crossAccount :: Lens.Lens' UpdateDiscoverer (Prelude.Maybe Prelude.Bool)
updateDiscoverer_crossAccount :: Lens' UpdateDiscoverer (Maybe Bool)
updateDiscoverer_crossAccount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscoverer' {Maybe Bool
crossAccount :: Maybe Bool
$sel:crossAccount:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Bool
crossAccount} -> Maybe Bool
crossAccount) (\s :: UpdateDiscoverer
s@UpdateDiscoverer' {} Maybe Bool
a -> UpdateDiscoverer
s {$sel:crossAccount:UpdateDiscoverer' :: Maybe Bool
crossAccount = Maybe Bool
a} :: UpdateDiscoverer)

-- | The description of the discoverer to update.
updateDiscoverer_description :: Lens.Lens' UpdateDiscoverer (Prelude.Maybe Prelude.Text)
updateDiscoverer_description :: Lens' UpdateDiscoverer (Maybe Text)
updateDiscoverer_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscoverer' {Maybe Text
description :: Maybe Text
$sel:description:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateDiscoverer
s@UpdateDiscoverer' {} Maybe Text
a -> UpdateDiscoverer
s {$sel:description:UpdateDiscoverer' :: Maybe Text
description = Maybe Text
a} :: UpdateDiscoverer)

-- | The ID of the discoverer.
updateDiscoverer_discovererId :: Lens.Lens' UpdateDiscoverer Prelude.Text
updateDiscoverer_discovererId :: Lens' UpdateDiscoverer Text
updateDiscoverer_discovererId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscoverer' {Text
discovererId :: Text
$sel:discovererId:UpdateDiscoverer' :: UpdateDiscoverer -> Text
discovererId} -> Text
discovererId) (\s :: UpdateDiscoverer
s@UpdateDiscoverer' {} Text
a -> UpdateDiscoverer
s {$sel:discovererId:UpdateDiscoverer' :: Text
discovererId = Text
a} :: UpdateDiscoverer)

instance Core.AWSRequest UpdateDiscoverer where
  type
    AWSResponse UpdateDiscoverer =
      UpdateDiscovererResponse
  request :: (Service -> Service)
-> UpdateDiscoverer -> Request UpdateDiscoverer
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateDiscoverer
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateDiscoverer)))
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 Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe DiscovererState
-> Maybe (HashMap Text Text)
-> Int
-> UpdateDiscovererResponse
UpdateDiscovererResponse'
            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
"CrossAccount")
            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
"Description")
            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
"DiscovererArn")
            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
"DiscovererId")
            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
"SourceArn")
            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
"State")
            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
"tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            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 UpdateDiscoverer where
  hashWithSalt :: Int -> UpdateDiscoverer -> Int
hashWithSalt Int
_salt UpdateDiscoverer' {Maybe Bool
Maybe Text
Text
discovererId :: Text
description :: Maybe Text
crossAccount :: Maybe Bool
$sel:discovererId:UpdateDiscoverer' :: UpdateDiscoverer -> Text
$sel:description:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Text
$sel:crossAccount:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
crossAccount
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
discovererId

instance Prelude.NFData UpdateDiscoverer where
  rnf :: UpdateDiscoverer -> ()
rnf UpdateDiscoverer' {Maybe Bool
Maybe Text
Text
discovererId :: Text
description :: Maybe Text
crossAccount :: Maybe Bool
$sel:discovererId:UpdateDiscoverer' :: UpdateDiscoverer -> Text
$sel:description:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Text
$sel:crossAccount:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
crossAccount
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Text
discovererId

instance Data.ToHeaders UpdateDiscoverer where
  toHeaders :: UpdateDiscoverer -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON UpdateDiscoverer where
  toJSON :: UpdateDiscoverer -> Value
toJSON UpdateDiscoverer' {Maybe Bool
Maybe Text
Text
discovererId :: Text
description :: Maybe Text
crossAccount :: Maybe Bool
$sel:discovererId:UpdateDiscoverer' :: UpdateDiscoverer -> Text
$sel:description:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Text
$sel:crossAccount:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Bool
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"CrossAccount" 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 Bool
crossAccount,
            (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
          ]
      )

instance Data.ToPath UpdateDiscoverer where
  toPath :: UpdateDiscoverer -> ByteString
toPath UpdateDiscoverer' {Maybe Bool
Maybe Text
Text
discovererId :: Text
description :: Maybe Text
crossAccount :: Maybe Bool
$sel:discovererId:UpdateDiscoverer' :: UpdateDiscoverer -> Text
$sel:description:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Text
$sel:crossAccount:UpdateDiscoverer' :: UpdateDiscoverer -> Maybe Bool
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/v1/discoverers/id/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
discovererId]

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

-- | /See:/ 'newUpdateDiscovererResponse' smart constructor.
data UpdateDiscovererResponse = UpdateDiscovererResponse'
  { -- | The Status if the discoverer will discover schemas from events sent from
    -- another account.
    UpdateDiscovererResponse -> Maybe Bool
crossAccount :: Prelude.Maybe Prelude.Bool,
    -- | The description of the discoverer.
    UpdateDiscovererResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the discoverer.
    UpdateDiscovererResponse -> Maybe Text
discovererArn :: Prelude.Maybe Prelude.Text,
    -- | The ID of the discoverer.
    UpdateDiscovererResponse -> Maybe Text
discovererId :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the event bus.
    UpdateDiscovererResponse -> Maybe Text
sourceArn :: Prelude.Maybe Prelude.Text,
    -- | The state of the discoverer.
    UpdateDiscovererResponse -> Maybe DiscovererState
state :: Prelude.Maybe DiscovererState,
    -- | Tags associated with the resource.
    UpdateDiscovererResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    UpdateDiscovererResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateDiscovererResponse -> UpdateDiscovererResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateDiscovererResponse -> UpdateDiscovererResponse -> Bool
$c/= :: UpdateDiscovererResponse -> UpdateDiscovererResponse -> Bool
== :: UpdateDiscovererResponse -> UpdateDiscovererResponse -> Bool
$c== :: UpdateDiscovererResponse -> UpdateDiscovererResponse -> Bool
Prelude.Eq, ReadPrec [UpdateDiscovererResponse]
ReadPrec UpdateDiscovererResponse
Int -> ReadS UpdateDiscovererResponse
ReadS [UpdateDiscovererResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateDiscovererResponse]
$creadListPrec :: ReadPrec [UpdateDiscovererResponse]
readPrec :: ReadPrec UpdateDiscovererResponse
$creadPrec :: ReadPrec UpdateDiscovererResponse
readList :: ReadS [UpdateDiscovererResponse]
$creadList :: ReadS [UpdateDiscovererResponse]
readsPrec :: Int -> ReadS UpdateDiscovererResponse
$creadsPrec :: Int -> ReadS UpdateDiscovererResponse
Prelude.Read, Int -> UpdateDiscovererResponse -> ShowS
[UpdateDiscovererResponse] -> ShowS
UpdateDiscovererResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateDiscovererResponse] -> ShowS
$cshowList :: [UpdateDiscovererResponse] -> ShowS
show :: UpdateDiscovererResponse -> String
$cshow :: UpdateDiscovererResponse -> String
showsPrec :: Int -> UpdateDiscovererResponse -> ShowS
$cshowsPrec :: Int -> UpdateDiscovererResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateDiscovererResponse x -> UpdateDiscovererResponse
forall x.
UpdateDiscovererResponse -> Rep UpdateDiscovererResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateDiscovererResponse x -> UpdateDiscovererResponse
$cfrom :: forall x.
UpdateDiscovererResponse -> Rep UpdateDiscovererResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateDiscovererResponse' 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:
--
-- 'crossAccount', 'updateDiscovererResponse_crossAccount' - The Status if the discoverer will discover schemas from events sent from
-- another account.
--
-- 'description', 'updateDiscovererResponse_description' - The description of the discoverer.
--
-- 'discovererArn', 'updateDiscovererResponse_discovererArn' - The ARN of the discoverer.
--
-- 'discovererId', 'updateDiscovererResponse_discovererId' - The ID of the discoverer.
--
-- 'sourceArn', 'updateDiscovererResponse_sourceArn' - The ARN of the event bus.
--
-- 'state', 'updateDiscovererResponse_state' - The state of the discoverer.
--
-- 'tags', 'updateDiscovererResponse_tags' - Tags associated with the resource.
--
-- 'httpStatus', 'updateDiscovererResponse_httpStatus' - The response's http status code.
newUpdateDiscovererResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateDiscovererResponse
newUpdateDiscovererResponse :: Int -> UpdateDiscovererResponse
newUpdateDiscovererResponse Int
pHttpStatus_ =
  UpdateDiscovererResponse'
    { $sel:crossAccount:UpdateDiscovererResponse' :: Maybe Bool
crossAccount =
        forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdateDiscovererResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:discovererArn:UpdateDiscovererResponse' :: Maybe Text
discovererArn = forall a. Maybe a
Prelude.Nothing,
      $sel:discovererId:UpdateDiscovererResponse' :: Maybe Text
discovererId = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceArn:UpdateDiscovererResponse' :: Maybe Text
sourceArn = forall a. Maybe a
Prelude.Nothing,
      $sel:state:UpdateDiscovererResponse' :: Maybe DiscovererState
state = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:UpdateDiscovererResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateDiscovererResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Status if the discoverer will discover schemas from events sent from
-- another account.
updateDiscovererResponse_crossAccount :: Lens.Lens' UpdateDiscovererResponse (Prelude.Maybe Prelude.Bool)
updateDiscovererResponse_crossAccount :: Lens' UpdateDiscovererResponse (Maybe Bool)
updateDiscovererResponse_crossAccount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscovererResponse' {Maybe Bool
crossAccount :: Maybe Bool
$sel:crossAccount:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Bool
crossAccount} -> Maybe Bool
crossAccount) (\s :: UpdateDiscovererResponse
s@UpdateDiscovererResponse' {} Maybe Bool
a -> UpdateDiscovererResponse
s {$sel:crossAccount:UpdateDiscovererResponse' :: Maybe Bool
crossAccount = Maybe Bool
a} :: UpdateDiscovererResponse)

-- | The description of the discoverer.
updateDiscovererResponse_description :: Lens.Lens' UpdateDiscovererResponse (Prelude.Maybe Prelude.Text)
updateDiscovererResponse_description :: Lens' UpdateDiscovererResponse (Maybe Text)
updateDiscovererResponse_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscovererResponse' {Maybe Text
description :: Maybe Text
$sel:description:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateDiscovererResponse
s@UpdateDiscovererResponse' {} Maybe Text
a -> UpdateDiscovererResponse
s {$sel:description:UpdateDiscovererResponse' :: Maybe Text
description = Maybe Text
a} :: UpdateDiscovererResponse)

-- | The ARN of the discoverer.
updateDiscovererResponse_discovererArn :: Lens.Lens' UpdateDiscovererResponse (Prelude.Maybe Prelude.Text)
updateDiscovererResponse_discovererArn :: Lens' UpdateDiscovererResponse (Maybe Text)
updateDiscovererResponse_discovererArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscovererResponse' {Maybe Text
discovererArn :: Maybe Text
$sel:discovererArn:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
discovererArn} -> Maybe Text
discovererArn) (\s :: UpdateDiscovererResponse
s@UpdateDiscovererResponse' {} Maybe Text
a -> UpdateDiscovererResponse
s {$sel:discovererArn:UpdateDiscovererResponse' :: Maybe Text
discovererArn = Maybe Text
a} :: UpdateDiscovererResponse)

-- | The ID of the discoverer.
updateDiscovererResponse_discovererId :: Lens.Lens' UpdateDiscovererResponse (Prelude.Maybe Prelude.Text)
updateDiscovererResponse_discovererId :: Lens' UpdateDiscovererResponse (Maybe Text)
updateDiscovererResponse_discovererId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscovererResponse' {Maybe Text
discovererId :: Maybe Text
$sel:discovererId:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
discovererId} -> Maybe Text
discovererId) (\s :: UpdateDiscovererResponse
s@UpdateDiscovererResponse' {} Maybe Text
a -> UpdateDiscovererResponse
s {$sel:discovererId:UpdateDiscovererResponse' :: Maybe Text
discovererId = Maybe Text
a} :: UpdateDiscovererResponse)

-- | The ARN of the event bus.
updateDiscovererResponse_sourceArn :: Lens.Lens' UpdateDiscovererResponse (Prelude.Maybe Prelude.Text)
updateDiscovererResponse_sourceArn :: Lens' UpdateDiscovererResponse (Maybe Text)
updateDiscovererResponse_sourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscovererResponse' {Maybe Text
sourceArn :: Maybe Text
$sel:sourceArn:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
sourceArn} -> Maybe Text
sourceArn) (\s :: UpdateDiscovererResponse
s@UpdateDiscovererResponse' {} Maybe Text
a -> UpdateDiscovererResponse
s {$sel:sourceArn:UpdateDiscovererResponse' :: Maybe Text
sourceArn = Maybe Text
a} :: UpdateDiscovererResponse)

-- | The state of the discoverer.
updateDiscovererResponse_state :: Lens.Lens' UpdateDiscovererResponse (Prelude.Maybe DiscovererState)
updateDiscovererResponse_state :: Lens' UpdateDiscovererResponse (Maybe DiscovererState)
updateDiscovererResponse_state = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscovererResponse' {Maybe DiscovererState
state :: Maybe DiscovererState
$sel:state:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe DiscovererState
state} -> Maybe DiscovererState
state) (\s :: UpdateDiscovererResponse
s@UpdateDiscovererResponse' {} Maybe DiscovererState
a -> UpdateDiscovererResponse
s {$sel:state:UpdateDiscovererResponse' :: Maybe DiscovererState
state = Maybe DiscovererState
a} :: UpdateDiscovererResponse)

-- | Tags associated with the resource.
updateDiscovererResponse_tags :: Lens.Lens' UpdateDiscovererResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
updateDiscovererResponse_tags :: Lens' UpdateDiscovererResponse (Maybe (HashMap Text Text))
updateDiscovererResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateDiscovererResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: UpdateDiscovererResponse
s@UpdateDiscovererResponse' {} Maybe (HashMap Text Text)
a -> UpdateDiscovererResponse
s {$sel:tags:UpdateDiscovererResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: UpdateDiscovererResponse) 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

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

instance Prelude.NFData UpdateDiscovererResponse where
  rnf :: UpdateDiscovererResponse -> ()
rnf UpdateDiscovererResponse' {Int
Maybe Bool
Maybe Text
Maybe (HashMap Text Text)
Maybe DiscovererState
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
state :: Maybe DiscovererState
sourceArn :: Maybe Text
discovererId :: Maybe Text
discovererArn :: Maybe Text
description :: Maybe Text
crossAccount :: Maybe Bool
$sel:httpStatus:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Int
$sel:tags:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe (HashMap Text Text)
$sel:state:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe DiscovererState
$sel:sourceArn:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
$sel:discovererId:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
$sel:discovererArn:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
$sel:description:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Text
$sel:crossAccount:UpdateDiscovererResponse' :: UpdateDiscovererResponse -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
crossAccount
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Text
discovererArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
discovererId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DiscovererState
state
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus