{-# 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.KafkaConnect.Types.ConnectorSummary
-- 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)
module Amazonka.KafkaConnect.Types.ConnectorSummary where

import qualified Amazonka.Core as Core
import Amazonka.KafkaConnect.Types.CapacityDescription
import Amazonka.KafkaConnect.Types.ConnectorState
import Amazonka.KafkaConnect.Types.KafkaClusterClientAuthenticationDescription
import Amazonka.KafkaConnect.Types.KafkaClusterDescription
import Amazonka.KafkaConnect.Types.KafkaClusterEncryptionInTransitDescription
import Amazonka.KafkaConnect.Types.LogDeliveryDescription
import Amazonka.KafkaConnect.Types.PluginDescription
import Amazonka.KafkaConnect.Types.WorkerConfigurationDescription
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | Summary of a connector.
--
-- /See:/ 'newConnectorSummary' smart constructor.
data ConnectorSummary = ConnectorSummary'
  { -- | The time that the connector was created.
    ConnectorSummary -> Maybe POSIX
creationTime :: Prelude.Maybe Core.POSIX,
    -- | The details of the Apache Kafka cluster to which the connector is
    -- connected.
    ConnectorSummary -> Maybe KafkaClusterDescription
kafkaCluster :: Prelude.Maybe KafkaClusterDescription,
    -- | The version of Kafka Connect. It has to be compatible with both the
    -- Apache Kafka cluster\'s version and the plugins.
    ConnectorSummary -> Maybe Text
kafkaConnectVersion :: Prelude.Maybe Prelude.Text,
    -- | The settings for delivering connector logs to Amazon CloudWatch Logs.
    ConnectorSummary -> Maybe LogDeliveryDescription
logDelivery :: Prelude.Maybe LogDeliveryDescription,
    -- | The current version of the connector.
    ConnectorSummary -> Maybe Text
currentVersion :: Prelude.Maybe Prelude.Text,
    -- | The worker configurations that are in use with the connector.
    ConnectorSummary -> Maybe WorkerConfigurationDescription
workerConfiguration :: Prelude.Maybe WorkerConfigurationDescription,
    -- | The Amazon Resource Name (ARN) of the connector.
    ConnectorSummary -> Maybe Text
connectorArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the connector.
    ConnectorSummary -> Maybe Text
connectorName :: Prelude.Maybe Prelude.Text,
    -- | The state of the connector.
    ConnectorSummary -> Maybe ConnectorState
connectorState :: Prelude.Maybe ConnectorState,
    -- | The connector\'s compute capacity settings.
    ConnectorSummary -> Maybe CapacityDescription
capacity :: Prelude.Maybe CapacityDescription,
    -- | Specifies which plugins were used for this connector.
    ConnectorSummary -> Maybe [PluginDescription]
plugins :: Prelude.Maybe [PluginDescription],
    -- | The description of the connector.
    ConnectorSummary -> Maybe Text
connectorDescription :: Prelude.Maybe Prelude.Text,
    -- | The type of client authentication used to connect to the Apache Kafka
    -- cluster. The value is NONE when no client authentication is used.
    ConnectorSummary
-> Maybe KafkaClusterClientAuthenticationDescription
kafkaClusterClientAuthentication :: Prelude.Maybe KafkaClusterClientAuthenticationDescription,
    -- | Details of encryption in transit to the Apache Kafka cluster.
    ConnectorSummary
-> Maybe KafkaClusterEncryptionInTransitDescription
kafkaClusterEncryptionInTransit :: Prelude.Maybe KafkaClusterEncryptionInTransitDescription,
    -- | The Amazon Resource Name (ARN) of the IAM role used by the connector to
    -- access Amazon Web Services resources.
    ConnectorSummary -> Maybe Text
serviceExecutionRoleArn :: Prelude.Maybe Prelude.Text
  }
  deriving (ConnectorSummary -> ConnectorSummary -> Bool
(ConnectorSummary -> ConnectorSummary -> Bool)
-> (ConnectorSummary -> ConnectorSummary -> Bool)
-> Eq ConnectorSummary
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConnectorSummary -> ConnectorSummary -> Bool
$c/= :: ConnectorSummary -> ConnectorSummary -> Bool
== :: ConnectorSummary -> ConnectorSummary -> Bool
$c== :: ConnectorSummary -> ConnectorSummary -> Bool
Prelude.Eq, ReadPrec [ConnectorSummary]
ReadPrec ConnectorSummary
Int -> ReadS ConnectorSummary
ReadS [ConnectorSummary]
(Int -> ReadS ConnectorSummary)
-> ReadS [ConnectorSummary]
-> ReadPrec ConnectorSummary
-> ReadPrec [ConnectorSummary]
-> Read ConnectorSummary
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConnectorSummary]
$creadListPrec :: ReadPrec [ConnectorSummary]
readPrec :: ReadPrec ConnectorSummary
$creadPrec :: ReadPrec ConnectorSummary
readList :: ReadS [ConnectorSummary]
$creadList :: ReadS [ConnectorSummary]
readsPrec :: Int -> ReadS ConnectorSummary
$creadsPrec :: Int -> ReadS ConnectorSummary
Prelude.Read, Int -> ConnectorSummary -> ShowS
[ConnectorSummary] -> ShowS
ConnectorSummary -> String
(Int -> ConnectorSummary -> ShowS)
-> (ConnectorSummary -> String)
-> ([ConnectorSummary] -> ShowS)
-> Show ConnectorSummary
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConnectorSummary] -> ShowS
$cshowList :: [ConnectorSummary] -> ShowS
show :: ConnectorSummary -> String
$cshow :: ConnectorSummary -> String
showsPrec :: Int -> ConnectorSummary -> ShowS
$cshowsPrec :: Int -> ConnectorSummary -> ShowS
Prelude.Show, (forall x. ConnectorSummary -> Rep ConnectorSummary x)
-> (forall x. Rep ConnectorSummary x -> ConnectorSummary)
-> Generic ConnectorSummary
forall x. Rep ConnectorSummary x -> ConnectorSummary
forall x. ConnectorSummary -> Rep ConnectorSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConnectorSummary x -> ConnectorSummary
$cfrom :: forall x. ConnectorSummary -> Rep ConnectorSummary x
Prelude.Generic)

-- |
-- Create a value of 'ConnectorSummary' 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:
--
-- 'creationTime', 'connectorSummary_creationTime' - The time that the connector was created.
--
-- 'kafkaCluster', 'connectorSummary_kafkaCluster' - The details of the Apache Kafka cluster to which the connector is
-- connected.
--
-- 'kafkaConnectVersion', 'connectorSummary_kafkaConnectVersion' - The version of Kafka Connect. It has to be compatible with both the
-- Apache Kafka cluster\'s version and the plugins.
--
-- 'logDelivery', 'connectorSummary_logDelivery' - The settings for delivering connector logs to Amazon CloudWatch Logs.
--
-- 'currentVersion', 'connectorSummary_currentVersion' - The current version of the connector.
--
-- 'workerConfiguration', 'connectorSummary_workerConfiguration' - The worker configurations that are in use with the connector.
--
-- 'connectorArn', 'connectorSummary_connectorArn' - The Amazon Resource Name (ARN) of the connector.
--
-- 'connectorName', 'connectorSummary_connectorName' - The name of the connector.
--
-- 'connectorState', 'connectorSummary_connectorState' - The state of the connector.
--
-- 'capacity', 'connectorSummary_capacity' - The connector\'s compute capacity settings.
--
-- 'plugins', 'connectorSummary_plugins' - Specifies which plugins were used for this connector.
--
-- 'connectorDescription', 'connectorSummary_connectorDescription' - The description of the connector.
--
-- 'kafkaClusterClientAuthentication', 'connectorSummary_kafkaClusterClientAuthentication' - The type of client authentication used to connect to the Apache Kafka
-- cluster. The value is NONE when no client authentication is used.
--
-- 'kafkaClusterEncryptionInTransit', 'connectorSummary_kafkaClusterEncryptionInTransit' - Details of encryption in transit to the Apache Kafka cluster.
--
-- 'serviceExecutionRoleArn', 'connectorSummary_serviceExecutionRoleArn' - The Amazon Resource Name (ARN) of the IAM role used by the connector to
-- access Amazon Web Services resources.
newConnectorSummary ::
  ConnectorSummary
newConnectorSummary :: ConnectorSummary
newConnectorSummary =
  ConnectorSummary' :: Maybe POSIX
-> Maybe KafkaClusterDescription
-> Maybe Text
-> Maybe LogDeliveryDescription
-> Maybe Text
-> Maybe WorkerConfigurationDescription
-> Maybe Text
-> Maybe Text
-> Maybe ConnectorState
-> Maybe CapacityDescription
-> Maybe [PluginDescription]
-> Maybe Text
-> Maybe KafkaClusterClientAuthenticationDescription
-> Maybe KafkaClusterEncryptionInTransitDescription
-> Maybe Text
-> ConnectorSummary
ConnectorSummary'
    { $sel:creationTime:ConnectorSummary' :: Maybe POSIX
creationTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:kafkaCluster:ConnectorSummary' :: Maybe KafkaClusterDescription
kafkaCluster = Maybe KafkaClusterDescription
forall a. Maybe a
Prelude.Nothing,
      $sel:kafkaConnectVersion:ConnectorSummary' :: Maybe Text
kafkaConnectVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:logDelivery:ConnectorSummary' :: Maybe LogDeliveryDescription
logDelivery = Maybe LogDeliveryDescription
forall a. Maybe a
Prelude.Nothing,
      $sel:currentVersion:ConnectorSummary' :: Maybe Text
currentVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:workerConfiguration:ConnectorSummary' :: Maybe WorkerConfigurationDescription
workerConfiguration = Maybe WorkerConfigurationDescription
forall a. Maybe a
Prelude.Nothing,
      $sel:connectorArn:ConnectorSummary' :: Maybe Text
connectorArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:connectorName:ConnectorSummary' :: Maybe Text
connectorName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:connectorState:ConnectorSummary' :: Maybe ConnectorState
connectorState = Maybe ConnectorState
forall a. Maybe a
Prelude.Nothing,
      $sel:capacity:ConnectorSummary' :: Maybe CapacityDescription
capacity = Maybe CapacityDescription
forall a. Maybe a
Prelude.Nothing,
      $sel:plugins:ConnectorSummary' :: Maybe [PluginDescription]
plugins = Maybe [PluginDescription]
forall a. Maybe a
Prelude.Nothing,
      $sel:connectorDescription:ConnectorSummary' :: Maybe Text
connectorDescription = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:kafkaClusterClientAuthentication:ConnectorSummary' :: Maybe KafkaClusterClientAuthenticationDescription
kafkaClusterClientAuthentication = Maybe KafkaClusterClientAuthenticationDescription
forall a. Maybe a
Prelude.Nothing,
      $sel:kafkaClusterEncryptionInTransit:ConnectorSummary' :: Maybe KafkaClusterEncryptionInTransitDescription
kafkaClusterEncryptionInTransit = Maybe KafkaClusterEncryptionInTransitDescription
forall a. Maybe a
Prelude.Nothing,
      $sel:serviceExecutionRoleArn:ConnectorSummary' :: Maybe Text
serviceExecutionRoleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The time that the connector was created.
connectorSummary_creationTime :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.UTCTime)
connectorSummary_creationTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_creationTime = (ConnectorSummary -> Maybe POSIX)
-> (ConnectorSummary -> Maybe POSIX -> ConnectorSummary)
-> Lens
     ConnectorSummary ConnectorSummary (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:ConnectorSummary' :: ConnectorSummary -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe POSIX
a -> ConnectorSummary
s {$sel:creationTime:ConnectorSummary' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: ConnectorSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> ConnectorSummary -> f ConnectorSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> ConnectorSummary
-> f ConnectorSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The details of the Apache Kafka cluster to which the connector is
-- connected.
connectorSummary_kafkaCluster :: Lens.Lens' ConnectorSummary (Prelude.Maybe KafkaClusterDescription)
connectorSummary_kafkaCluster :: (Maybe KafkaClusterDescription
 -> f (Maybe KafkaClusterDescription))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_kafkaCluster = (ConnectorSummary -> Maybe KafkaClusterDescription)
-> (ConnectorSummary
    -> Maybe KafkaClusterDescription -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe KafkaClusterDescription)
     (Maybe KafkaClusterDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe KafkaClusterDescription
kafkaCluster :: Maybe KafkaClusterDescription
$sel:kafkaCluster:ConnectorSummary' :: ConnectorSummary -> Maybe KafkaClusterDescription
kafkaCluster} -> Maybe KafkaClusterDescription
kafkaCluster) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe KafkaClusterDescription
a -> ConnectorSummary
s {$sel:kafkaCluster:ConnectorSummary' :: Maybe KafkaClusterDescription
kafkaCluster = Maybe KafkaClusterDescription
a} :: ConnectorSummary)

-- | The version of Kafka Connect. It has to be compatible with both the
-- Apache Kafka cluster\'s version and the plugins.
connectorSummary_kafkaConnectVersion :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)
connectorSummary_kafkaConnectVersion :: (Maybe Text -> f (Maybe Text))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_kafkaConnectVersion = (ConnectorSummary -> Maybe Text)
-> (ConnectorSummary -> Maybe Text -> ConnectorSummary)
-> Lens ConnectorSummary ConnectorSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe Text
kafkaConnectVersion :: Maybe Text
$sel:kafkaConnectVersion:ConnectorSummary' :: ConnectorSummary -> Maybe Text
kafkaConnectVersion} -> Maybe Text
kafkaConnectVersion) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe Text
a -> ConnectorSummary
s {$sel:kafkaConnectVersion:ConnectorSummary' :: Maybe Text
kafkaConnectVersion = Maybe Text
a} :: ConnectorSummary)

-- | The settings for delivering connector logs to Amazon CloudWatch Logs.
connectorSummary_logDelivery :: Lens.Lens' ConnectorSummary (Prelude.Maybe LogDeliveryDescription)
connectorSummary_logDelivery :: (Maybe LogDeliveryDescription -> f (Maybe LogDeliveryDescription))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_logDelivery = (ConnectorSummary -> Maybe LogDeliveryDescription)
-> (ConnectorSummary
    -> Maybe LogDeliveryDescription -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe LogDeliveryDescription)
     (Maybe LogDeliveryDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe LogDeliveryDescription
logDelivery :: Maybe LogDeliveryDescription
$sel:logDelivery:ConnectorSummary' :: ConnectorSummary -> Maybe LogDeliveryDescription
logDelivery} -> Maybe LogDeliveryDescription
logDelivery) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe LogDeliveryDescription
a -> ConnectorSummary
s {$sel:logDelivery:ConnectorSummary' :: Maybe LogDeliveryDescription
logDelivery = Maybe LogDeliveryDescription
a} :: ConnectorSummary)

-- | The current version of the connector.
connectorSummary_currentVersion :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)
connectorSummary_currentVersion :: (Maybe Text -> f (Maybe Text))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_currentVersion = (ConnectorSummary -> Maybe Text)
-> (ConnectorSummary -> Maybe Text -> ConnectorSummary)
-> Lens ConnectorSummary ConnectorSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe Text
currentVersion :: Maybe Text
$sel:currentVersion:ConnectorSummary' :: ConnectorSummary -> Maybe Text
currentVersion} -> Maybe Text
currentVersion) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe Text
a -> ConnectorSummary
s {$sel:currentVersion:ConnectorSummary' :: Maybe Text
currentVersion = Maybe Text
a} :: ConnectorSummary)

-- | The worker configurations that are in use with the connector.
connectorSummary_workerConfiguration :: Lens.Lens' ConnectorSummary (Prelude.Maybe WorkerConfigurationDescription)
connectorSummary_workerConfiguration :: (Maybe WorkerConfigurationDescription
 -> f (Maybe WorkerConfigurationDescription))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_workerConfiguration = (ConnectorSummary -> Maybe WorkerConfigurationDescription)
-> (ConnectorSummary
    -> Maybe WorkerConfigurationDescription -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe WorkerConfigurationDescription)
     (Maybe WorkerConfigurationDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe WorkerConfigurationDescription
workerConfiguration :: Maybe WorkerConfigurationDescription
$sel:workerConfiguration:ConnectorSummary' :: ConnectorSummary -> Maybe WorkerConfigurationDescription
workerConfiguration} -> Maybe WorkerConfigurationDescription
workerConfiguration) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe WorkerConfigurationDescription
a -> ConnectorSummary
s {$sel:workerConfiguration:ConnectorSummary' :: Maybe WorkerConfigurationDescription
workerConfiguration = Maybe WorkerConfigurationDescription
a} :: ConnectorSummary)

-- | The Amazon Resource Name (ARN) of the connector.
connectorSummary_connectorArn :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)
connectorSummary_connectorArn :: (Maybe Text -> f (Maybe Text))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_connectorArn = (ConnectorSummary -> Maybe Text)
-> (ConnectorSummary -> Maybe Text -> ConnectorSummary)
-> Lens ConnectorSummary ConnectorSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe Text
connectorArn :: Maybe Text
$sel:connectorArn:ConnectorSummary' :: ConnectorSummary -> Maybe Text
connectorArn} -> Maybe Text
connectorArn) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe Text
a -> ConnectorSummary
s {$sel:connectorArn:ConnectorSummary' :: Maybe Text
connectorArn = Maybe Text
a} :: ConnectorSummary)

-- | The name of the connector.
connectorSummary_connectorName :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)
connectorSummary_connectorName :: (Maybe Text -> f (Maybe Text))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_connectorName = (ConnectorSummary -> Maybe Text)
-> (ConnectorSummary -> Maybe Text -> ConnectorSummary)
-> Lens ConnectorSummary ConnectorSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe Text
connectorName :: Maybe Text
$sel:connectorName:ConnectorSummary' :: ConnectorSummary -> Maybe Text
connectorName} -> Maybe Text
connectorName) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe Text
a -> ConnectorSummary
s {$sel:connectorName:ConnectorSummary' :: Maybe Text
connectorName = Maybe Text
a} :: ConnectorSummary)

-- | The state of the connector.
connectorSummary_connectorState :: Lens.Lens' ConnectorSummary (Prelude.Maybe ConnectorState)
connectorSummary_connectorState :: (Maybe ConnectorState -> f (Maybe ConnectorState))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_connectorState = (ConnectorSummary -> Maybe ConnectorState)
-> (ConnectorSummary -> Maybe ConnectorState -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe ConnectorState)
     (Maybe ConnectorState)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe ConnectorState
connectorState :: Maybe ConnectorState
$sel:connectorState:ConnectorSummary' :: ConnectorSummary -> Maybe ConnectorState
connectorState} -> Maybe ConnectorState
connectorState) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe ConnectorState
a -> ConnectorSummary
s {$sel:connectorState:ConnectorSummary' :: Maybe ConnectorState
connectorState = Maybe ConnectorState
a} :: ConnectorSummary)

-- | The connector\'s compute capacity settings.
connectorSummary_capacity :: Lens.Lens' ConnectorSummary (Prelude.Maybe CapacityDescription)
connectorSummary_capacity :: (Maybe CapacityDescription -> f (Maybe CapacityDescription))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_capacity = (ConnectorSummary -> Maybe CapacityDescription)
-> (ConnectorSummary
    -> Maybe CapacityDescription -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe CapacityDescription)
     (Maybe CapacityDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe CapacityDescription
capacity :: Maybe CapacityDescription
$sel:capacity:ConnectorSummary' :: ConnectorSummary -> Maybe CapacityDescription
capacity} -> Maybe CapacityDescription
capacity) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe CapacityDescription
a -> ConnectorSummary
s {$sel:capacity:ConnectorSummary' :: Maybe CapacityDescription
capacity = Maybe CapacityDescription
a} :: ConnectorSummary)

-- | Specifies which plugins were used for this connector.
connectorSummary_plugins :: Lens.Lens' ConnectorSummary (Prelude.Maybe [PluginDescription])
connectorSummary_plugins :: (Maybe [PluginDescription] -> f (Maybe [PluginDescription]))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_plugins = (ConnectorSummary -> Maybe [PluginDescription])
-> (ConnectorSummary
    -> Maybe [PluginDescription] -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe [PluginDescription])
     (Maybe [PluginDescription])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe [PluginDescription]
plugins :: Maybe [PluginDescription]
$sel:plugins:ConnectorSummary' :: ConnectorSummary -> Maybe [PluginDescription]
plugins} -> Maybe [PluginDescription]
plugins) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe [PluginDescription]
a -> ConnectorSummary
s {$sel:plugins:ConnectorSummary' :: Maybe [PluginDescription]
plugins = Maybe [PluginDescription]
a} :: ConnectorSummary) ((Maybe [PluginDescription] -> f (Maybe [PluginDescription]))
 -> ConnectorSummary -> f ConnectorSummary)
-> ((Maybe [PluginDescription] -> f (Maybe [PluginDescription]))
    -> Maybe [PluginDescription] -> f (Maybe [PluginDescription]))
-> (Maybe [PluginDescription] -> f (Maybe [PluginDescription]))
-> ConnectorSummary
-> f ConnectorSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [PluginDescription]
  [PluginDescription]
  [PluginDescription]
  [PluginDescription]
-> Iso
     (Maybe [PluginDescription])
     (Maybe [PluginDescription])
     (Maybe [PluginDescription])
     (Maybe [PluginDescription])
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 AnIso
  [PluginDescription]
  [PluginDescription]
  [PluginDescription]
  [PluginDescription]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The description of the connector.
connectorSummary_connectorDescription :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)
connectorSummary_connectorDescription :: (Maybe Text -> f (Maybe Text))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_connectorDescription = (ConnectorSummary -> Maybe Text)
-> (ConnectorSummary -> Maybe Text -> ConnectorSummary)
-> Lens ConnectorSummary ConnectorSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe Text
connectorDescription :: Maybe Text
$sel:connectorDescription:ConnectorSummary' :: ConnectorSummary -> Maybe Text
connectorDescription} -> Maybe Text
connectorDescription) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe Text
a -> ConnectorSummary
s {$sel:connectorDescription:ConnectorSummary' :: Maybe Text
connectorDescription = Maybe Text
a} :: ConnectorSummary)

-- | The type of client authentication used to connect to the Apache Kafka
-- cluster. The value is NONE when no client authentication is used.
connectorSummary_kafkaClusterClientAuthentication :: Lens.Lens' ConnectorSummary (Prelude.Maybe KafkaClusterClientAuthenticationDescription)
connectorSummary_kafkaClusterClientAuthentication :: (Maybe KafkaClusterClientAuthenticationDescription
 -> f (Maybe KafkaClusterClientAuthenticationDescription))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_kafkaClusterClientAuthentication = (ConnectorSummary
 -> Maybe KafkaClusterClientAuthenticationDescription)
-> (ConnectorSummary
    -> Maybe KafkaClusterClientAuthenticationDescription
    -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe KafkaClusterClientAuthenticationDescription)
     (Maybe KafkaClusterClientAuthenticationDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe KafkaClusterClientAuthenticationDescription
kafkaClusterClientAuthentication :: Maybe KafkaClusterClientAuthenticationDescription
$sel:kafkaClusterClientAuthentication:ConnectorSummary' :: ConnectorSummary
-> Maybe KafkaClusterClientAuthenticationDescription
kafkaClusterClientAuthentication} -> Maybe KafkaClusterClientAuthenticationDescription
kafkaClusterClientAuthentication) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe KafkaClusterClientAuthenticationDescription
a -> ConnectorSummary
s {$sel:kafkaClusterClientAuthentication:ConnectorSummary' :: Maybe KafkaClusterClientAuthenticationDescription
kafkaClusterClientAuthentication = Maybe KafkaClusterClientAuthenticationDescription
a} :: ConnectorSummary)

-- | Details of encryption in transit to the Apache Kafka cluster.
connectorSummary_kafkaClusterEncryptionInTransit :: Lens.Lens' ConnectorSummary (Prelude.Maybe KafkaClusterEncryptionInTransitDescription)
connectorSummary_kafkaClusterEncryptionInTransit :: (Maybe KafkaClusterEncryptionInTransitDescription
 -> f (Maybe KafkaClusterEncryptionInTransitDescription))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_kafkaClusterEncryptionInTransit = (ConnectorSummary
 -> Maybe KafkaClusterEncryptionInTransitDescription)
-> (ConnectorSummary
    -> Maybe KafkaClusterEncryptionInTransitDescription
    -> ConnectorSummary)
-> Lens
     ConnectorSummary
     ConnectorSummary
     (Maybe KafkaClusterEncryptionInTransitDescription)
     (Maybe KafkaClusterEncryptionInTransitDescription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe KafkaClusterEncryptionInTransitDescription
kafkaClusterEncryptionInTransit :: Maybe KafkaClusterEncryptionInTransitDescription
$sel:kafkaClusterEncryptionInTransit:ConnectorSummary' :: ConnectorSummary
-> Maybe KafkaClusterEncryptionInTransitDescription
kafkaClusterEncryptionInTransit} -> Maybe KafkaClusterEncryptionInTransitDescription
kafkaClusterEncryptionInTransit) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe KafkaClusterEncryptionInTransitDescription
a -> ConnectorSummary
s {$sel:kafkaClusterEncryptionInTransit:ConnectorSummary' :: Maybe KafkaClusterEncryptionInTransitDescription
kafkaClusterEncryptionInTransit = Maybe KafkaClusterEncryptionInTransitDescription
a} :: ConnectorSummary)

-- | The Amazon Resource Name (ARN) of the IAM role used by the connector to
-- access Amazon Web Services resources.
connectorSummary_serviceExecutionRoleArn :: Lens.Lens' ConnectorSummary (Prelude.Maybe Prelude.Text)
connectorSummary_serviceExecutionRoleArn :: (Maybe Text -> f (Maybe Text))
-> ConnectorSummary -> f ConnectorSummary
connectorSummary_serviceExecutionRoleArn = (ConnectorSummary -> Maybe Text)
-> (ConnectorSummary -> Maybe Text -> ConnectorSummary)
-> Lens ConnectorSummary ConnectorSummary (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorSummary' {Maybe Text
serviceExecutionRoleArn :: Maybe Text
$sel:serviceExecutionRoleArn:ConnectorSummary' :: ConnectorSummary -> Maybe Text
serviceExecutionRoleArn} -> Maybe Text
serviceExecutionRoleArn) (\s :: ConnectorSummary
s@ConnectorSummary' {} Maybe Text
a -> ConnectorSummary
s {$sel:serviceExecutionRoleArn:ConnectorSummary' :: Maybe Text
serviceExecutionRoleArn = Maybe Text
a} :: ConnectorSummary)

instance Core.FromJSON ConnectorSummary where
  parseJSON :: Value -> Parser ConnectorSummary
parseJSON =
    String
-> (Object -> Parser ConnectorSummary)
-> Value
-> Parser ConnectorSummary
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"ConnectorSummary"
      ( \Object
x ->
          Maybe POSIX
-> Maybe KafkaClusterDescription
-> Maybe Text
-> Maybe LogDeliveryDescription
-> Maybe Text
-> Maybe WorkerConfigurationDescription
-> Maybe Text
-> Maybe Text
-> Maybe ConnectorState
-> Maybe CapacityDescription
-> Maybe [PluginDescription]
-> Maybe Text
-> Maybe KafkaClusterClientAuthenticationDescription
-> Maybe KafkaClusterEncryptionInTransitDescription
-> Maybe Text
-> ConnectorSummary
ConnectorSummary'
            (Maybe POSIX
 -> Maybe KafkaClusterDescription
 -> Maybe Text
 -> Maybe LogDeliveryDescription
 -> Maybe Text
 -> Maybe WorkerConfigurationDescription
 -> Maybe Text
 -> Maybe Text
 -> Maybe ConnectorState
 -> Maybe CapacityDescription
 -> Maybe [PluginDescription]
 -> Maybe Text
 -> Maybe KafkaClusterClientAuthenticationDescription
 -> Maybe KafkaClusterEncryptionInTransitDescription
 -> Maybe Text
 -> ConnectorSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe KafkaClusterDescription
      -> Maybe Text
      -> Maybe LogDeliveryDescription
      -> Maybe Text
      -> Maybe WorkerConfigurationDescription
      -> Maybe Text
      -> Maybe Text
      -> Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"creationTime")
            Parser
  (Maybe KafkaClusterDescription
   -> Maybe Text
   -> Maybe LogDeliveryDescription
   -> Maybe Text
   -> Maybe WorkerConfigurationDescription
   -> Maybe Text
   -> Maybe Text
   -> Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe KafkaClusterDescription)
-> Parser
     (Maybe Text
      -> Maybe LogDeliveryDescription
      -> Maybe Text
      -> Maybe WorkerConfigurationDescription
      -> Maybe Text
      -> Maybe Text
      -> Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe KafkaClusterDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"kafkaCluster")
            Parser
  (Maybe Text
   -> Maybe LogDeliveryDescription
   -> Maybe Text
   -> Maybe WorkerConfigurationDescription
   -> Maybe Text
   -> Maybe Text
   -> Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe LogDeliveryDescription
      -> Maybe Text
      -> Maybe WorkerConfigurationDescription
      -> Maybe Text
      -> Maybe Text
      -> Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"kafkaConnectVersion")
            Parser
  (Maybe LogDeliveryDescription
   -> Maybe Text
   -> Maybe WorkerConfigurationDescription
   -> Maybe Text
   -> Maybe Text
   -> Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe LogDeliveryDescription)
-> Parser
     (Maybe Text
      -> Maybe WorkerConfigurationDescription
      -> Maybe Text
      -> Maybe Text
      -> Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe LogDeliveryDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"logDelivery")
            Parser
  (Maybe Text
   -> Maybe WorkerConfigurationDescription
   -> Maybe Text
   -> Maybe Text
   -> Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe WorkerConfigurationDescription
      -> Maybe Text
      -> Maybe Text
      -> Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"currentVersion")
            Parser
  (Maybe WorkerConfigurationDescription
   -> Maybe Text
   -> Maybe Text
   -> Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe WorkerConfigurationDescription)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe WorkerConfigurationDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"workerConfiguration")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"connectorArn")
            Parser
  (Maybe Text
   -> Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe ConnectorState
      -> Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"connectorName")
            Parser
  (Maybe ConnectorState
   -> Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe ConnectorState)
-> Parser
     (Maybe CapacityDescription
      -> Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ConnectorState)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"connectorState")
            Parser
  (Maybe CapacityDescription
   -> Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe CapacityDescription)
-> Parser
     (Maybe [PluginDescription]
      -> Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe CapacityDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"capacity")
            Parser
  (Maybe [PluginDescription]
   -> Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe [PluginDescription])
-> Parser
     (Maybe Text
      -> Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [PluginDescription]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"plugins" Parser (Maybe (Maybe [PluginDescription]))
-> Maybe [PluginDescription] -> Parser (Maybe [PluginDescription])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [PluginDescription]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe Text
   -> Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe KafkaClusterClientAuthenticationDescription
      -> Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text
      -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"connectorDescription")
            Parser
  (Maybe KafkaClusterClientAuthenticationDescription
   -> Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text
   -> ConnectorSummary)
-> Parser (Maybe KafkaClusterClientAuthenticationDescription)
-> Parser
     (Maybe KafkaClusterEncryptionInTransitDescription
      -> Maybe Text -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser (Maybe KafkaClusterClientAuthenticationDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"kafkaClusterClientAuthentication")
            Parser
  (Maybe KafkaClusterEncryptionInTransitDescription
   -> Maybe Text -> ConnectorSummary)
-> Parser (Maybe KafkaClusterEncryptionInTransitDescription)
-> Parser (Maybe Text -> ConnectorSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Parser (Maybe KafkaClusterEncryptionInTransitDescription)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"kafkaClusterEncryptionInTransit")
            Parser (Maybe Text -> ConnectorSummary)
-> Parser (Maybe Text) -> Parser ConnectorSummary
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"serviceExecutionRoleArn")
      )

instance Prelude.Hashable ConnectorSummary

instance Prelude.NFData ConnectorSummary