{-# 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.AppFlow.Types.ConnectorOperator
-- 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.AppFlow.Types.ConnectorOperator where

import Amazonka.AppFlow.Types.AmplitudeConnectorOperator
import Amazonka.AppFlow.Types.DatadogConnectorOperator
import Amazonka.AppFlow.Types.DynatraceConnectorOperator
import Amazonka.AppFlow.Types.GoogleAnalyticsConnectorOperator
import Amazonka.AppFlow.Types.InforNexusConnectorOperator
import Amazonka.AppFlow.Types.MarketoConnectorOperator
import Amazonka.AppFlow.Types.S3ConnectorOperator
import Amazonka.AppFlow.Types.SAPODataConnectorOperator
import Amazonka.AppFlow.Types.SalesforceConnectorOperator
import Amazonka.AppFlow.Types.ServiceNowConnectorOperator
import Amazonka.AppFlow.Types.SingularConnectorOperator
import Amazonka.AppFlow.Types.SlackConnectorOperator
import Amazonka.AppFlow.Types.TrendmicroConnectorOperator
import Amazonka.AppFlow.Types.VeevaConnectorOperator
import Amazonka.AppFlow.Types.ZendeskConnectorOperator
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | The operation to be performed on the provided source fields.
--
-- /See:/ 'newConnectorOperator' smart constructor.
data ConnectorOperator = ConnectorOperator'
  { -- | The operation to be performed on the provided ServiceNow source fields.
    ConnectorOperator -> Maybe ServiceNowConnectorOperator
serviceNow :: Prelude.Maybe ServiceNowConnectorOperator,
    -- | The operation to be performed on the provided Dynatrace source fields.
    ConnectorOperator -> Maybe DynatraceConnectorOperator
dynatrace :: Prelude.Maybe DynatraceConnectorOperator,
    -- | The operation to be performed on the provided Marketo source fields.
    ConnectorOperator -> Maybe MarketoConnectorOperator
marketo :: Prelude.Maybe MarketoConnectorOperator,
    -- | The operation to be performed on the provided Slack source fields.
    ConnectorOperator -> Maybe SlackConnectorOperator
slack :: Prelude.Maybe SlackConnectorOperator,
    -- | The operation to be performed on the provided Singular source fields.
    ConnectorOperator -> Maybe SingularConnectorOperator
singular :: Prelude.Maybe SingularConnectorOperator,
    -- | The operation to be performed on the provided Infor Nexus source fields.
    ConnectorOperator -> Maybe InforNexusConnectorOperator
inforNexus :: Prelude.Maybe InforNexusConnectorOperator,
    -- | The operation to be performed on the provided Amplitude source fields.
    ConnectorOperator -> Maybe AmplitudeConnectorOperator
amplitude :: Prelude.Maybe AmplitudeConnectorOperator,
    -- | The operation to be performed on the provided Datadog source fields.
    ConnectorOperator -> Maybe DatadogConnectorOperator
datadog :: Prelude.Maybe DatadogConnectorOperator,
    -- | The operation to be performed on the provided Google Analytics source
    -- fields.
    ConnectorOperator -> Maybe GoogleAnalyticsConnectorOperator
googleAnalytics :: Prelude.Maybe GoogleAnalyticsConnectorOperator,
    -- | The operation to be performed on the provided SAPOData source fields.
    ConnectorOperator -> Maybe SAPODataConnectorOperator
sAPOData :: Prelude.Maybe SAPODataConnectorOperator,
    -- | The operation to be performed on the provided Salesforce source fields.
    ConnectorOperator -> Maybe SalesforceConnectorOperator
salesforce :: Prelude.Maybe SalesforceConnectorOperator,
    -- | The operation to be performed on the provided Zendesk source fields.
    ConnectorOperator -> Maybe ZendeskConnectorOperator
zendesk :: Prelude.Maybe ZendeskConnectorOperator,
    -- | The operation to be performed on the provided Amazon S3 source fields.
    ConnectorOperator -> Maybe S3ConnectorOperator
s3 :: Prelude.Maybe S3ConnectorOperator,
    -- | The operation to be performed on the provided Trend Micro source fields.
    ConnectorOperator -> Maybe TrendmicroConnectorOperator
trendmicro :: Prelude.Maybe TrendmicroConnectorOperator,
    -- | The operation to be performed on the provided Veeva source fields.
    ConnectorOperator -> Maybe VeevaConnectorOperator
veeva :: Prelude.Maybe VeevaConnectorOperator
  }
  deriving (ConnectorOperator -> ConnectorOperator -> Bool
(ConnectorOperator -> ConnectorOperator -> Bool)
-> (ConnectorOperator -> ConnectorOperator -> Bool)
-> Eq ConnectorOperator
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConnectorOperator -> ConnectorOperator -> Bool
$c/= :: ConnectorOperator -> ConnectorOperator -> Bool
== :: ConnectorOperator -> ConnectorOperator -> Bool
$c== :: ConnectorOperator -> ConnectorOperator -> Bool
Prelude.Eq, ReadPrec [ConnectorOperator]
ReadPrec ConnectorOperator
Int -> ReadS ConnectorOperator
ReadS [ConnectorOperator]
(Int -> ReadS ConnectorOperator)
-> ReadS [ConnectorOperator]
-> ReadPrec ConnectorOperator
-> ReadPrec [ConnectorOperator]
-> Read ConnectorOperator
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConnectorOperator]
$creadListPrec :: ReadPrec [ConnectorOperator]
readPrec :: ReadPrec ConnectorOperator
$creadPrec :: ReadPrec ConnectorOperator
readList :: ReadS [ConnectorOperator]
$creadList :: ReadS [ConnectorOperator]
readsPrec :: Int -> ReadS ConnectorOperator
$creadsPrec :: Int -> ReadS ConnectorOperator
Prelude.Read, Int -> ConnectorOperator -> ShowS
[ConnectorOperator] -> ShowS
ConnectorOperator -> String
(Int -> ConnectorOperator -> ShowS)
-> (ConnectorOperator -> String)
-> ([ConnectorOperator] -> ShowS)
-> Show ConnectorOperator
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConnectorOperator] -> ShowS
$cshowList :: [ConnectorOperator] -> ShowS
show :: ConnectorOperator -> String
$cshow :: ConnectorOperator -> String
showsPrec :: Int -> ConnectorOperator -> ShowS
$cshowsPrec :: Int -> ConnectorOperator -> ShowS
Prelude.Show, (forall x. ConnectorOperator -> Rep ConnectorOperator x)
-> (forall x. Rep ConnectorOperator x -> ConnectorOperator)
-> Generic ConnectorOperator
forall x. Rep ConnectorOperator x -> ConnectorOperator
forall x. ConnectorOperator -> Rep ConnectorOperator x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConnectorOperator x -> ConnectorOperator
$cfrom :: forall x. ConnectorOperator -> Rep ConnectorOperator x
Prelude.Generic)

-- |
-- Create a value of 'ConnectorOperator' 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:
--
-- 'serviceNow', 'connectorOperator_serviceNow' - The operation to be performed on the provided ServiceNow source fields.
--
-- 'dynatrace', 'connectorOperator_dynatrace' - The operation to be performed on the provided Dynatrace source fields.
--
-- 'marketo', 'connectorOperator_marketo' - The operation to be performed on the provided Marketo source fields.
--
-- 'slack', 'connectorOperator_slack' - The operation to be performed on the provided Slack source fields.
--
-- 'singular', 'connectorOperator_singular' - The operation to be performed on the provided Singular source fields.
--
-- 'inforNexus', 'connectorOperator_inforNexus' - The operation to be performed on the provided Infor Nexus source fields.
--
-- 'amplitude', 'connectorOperator_amplitude' - The operation to be performed on the provided Amplitude source fields.
--
-- 'datadog', 'connectorOperator_datadog' - The operation to be performed on the provided Datadog source fields.
--
-- 'googleAnalytics', 'connectorOperator_googleAnalytics' - The operation to be performed on the provided Google Analytics source
-- fields.
--
-- 'sAPOData', 'connectorOperator_sAPOData' - The operation to be performed on the provided SAPOData source fields.
--
-- 'salesforce', 'connectorOperator_salesforce' - The operation to be performed on the provided Salesforce source fields.
--
-- 'zendesk', 'connectorOperator_zendesk' - The operation to be performed on the provided Zendesk source fields.
--
-- 's3', 'connectorOperator_s3' - The operation to be performed on the provided Amazon S3 source fields.
--
-- 'trendmicro', 'connectorOperator_trendmicro' - The operation to be performed on the provided Trend Micro source fields.
--
-- 'veeva', 'connectorOperator_veeva' - The operation to be performed on the provided Veeva source fields.
newConnectorOperator ::
  ConnectorOperator
newConnectorOperator :: ConnectorOperator
newConnectorOperator =
  ConnectorOperator' :: Maybe ServiceNowConnectorOperator
-> Maybe DynatraceConnectorOperator
-> Maybe MarketoConnectorOperator
-> Maybe SlackConnectorOperator
-> Maybe SingularConnectorOperator
-> Maybe InforNexusConnectorOperator
-> Maybe AmplitudeConnectorOperator
-> Maybe DatadogConnectorOperator
-> Maybe GoogleAnalyticsConnectorOperator
-> Maybe SAPODataConnectorOperator
-> Maybe SalesforceConnectorOperator
-> Maybe ZendeskConnectorOperator
-> Maybe S3ConnectorOperator
-> Maybe TrendmicroConnectorOperator
-> Maybe VeevaConnectorOperator
-> ConnectorOperator
ConnectorOperator'
    { $sel:serviceNow:ConnectorOperator' :: Maybe ServiceNowConnectorOperator
serviceNow = Maybe ServiceNowConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:dynatrace:ConnectorOperator' :: Maybe DynatraceConnectorOperator
dynatrace = Maybe DynatraceConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:marketo:ConnectorOperator' :: Maybe MarketoConnectorOperator
marketo = Maybe MarketoConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:slack:ConnectorOperator' :: Maybe SlackConnectorOperator
slack = Maybe SlackConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:singular:ConnectorOperator' :: Maybe SingularConnectorOperator
singular = Maybe SingularConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:inforNexus:ConnectorOperator' :: Maybe InforNexusConnectorOperator
inforNexus = Maybe InforNexusConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:amplitude:ConnectorOperator' :: Maybe AmplitudeConnectorOperator
amplitude = Maybe AmplitudeConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:datadog:ConnectorOperator' :: Maybe DatadogConnectorOperator
datadog = Maybe DatadogConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:googleAnalytics:ConnectorOperator' :: Maybe GoogleAnalyticsConnectorOperator
googleAnalytics = Maybe GoogleAnalyticsConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:sAPOData:ConnectorOperator' :: Maybe SAPODataConnectorOperator
sAPOData = Maybe SAPODataConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:salesforce:ConnectorOperator' :: Maybe SalesforceConnectorOperator
salesforce = Maybe SalesforceConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:zendesk:ConnectorOperator' :: Maybe ZendeskConnectorOperator
zendesk = Maybe ZendeskConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:s3:ConnectorOperator' :: Maybe S3ConnectorOperator
s3 = Maybe S3ConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:trendmicro:ConnectorOperator' :: Maybe TrendmicroConnectorOperator
trendmicro = Maybe TrendmicroConnectorOperator
forall a. Maybe a
Prelude.Nothing,
      $sel:veeva:ConnectorOperator' :: Maybe VeevaConnectorOperator
veeva = Maybe VeevaConnectorOperator
forall a. Maybe a
Prelude.Nothing
    }

-- | The operation to be performed on the provided ServiceNow source fields.
connectorOperator_serviceNow :: Lens.Lens' ConnectorOperator (Prelude.Maybe ServiceNowConnectorOperator)
connectorOperator_serviceNow :: (Maybe ServiceNowConnectorOperator
 -> f (Maybe ServiceNowConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_serviceNow = (ConnectorOperator -> Maybe ServiceNowConnectorOperator)
-> (ConnectorOperator
    -> Maybe ServiceNowConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe ServiceNowConnectorOperator)
     (Maybe ServiceNowConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe ServiceNowConnectorOperator
serviceNow :: Maybe ServiceNowConnectorOperator
$sel:serviceNow:ConnectorOperator' :: ConnectorOperator -> Maybe ServiceNowConnectorOperator
serviceNow} -> Maybe ServiceNowConnectorOperator
serviceNow) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe ServiceNowConnectorOperator
a -> ConnectorOperator
s {$sel:serviceNow:ConnectorOperator' :: Maybe ServiceNowConnectorOperator
serviceNow = Maybe ServiceNowConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Dynatrace source fields.
connectorOperator_dynatrace :: Lens.Lens' ConnectorOperator (Prelude.Maybe DynatraceConnectorOperator)
connectorOperator_dynatrace :: (Maybe DynatraceConnectorOperator
 -> f (Maybe DynatraceConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_dynatrace = (ConnectorOperator -> Maybe DynatraceConnectorOperator)
-> (ConnectorOperator
    -> Maybe DynatraceConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe DynatraceConnectorOperator)
     (Maybe DynatraceConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe DynatraceConnectorOperator
dynatrace :: Maybe DynatraceConnectorOperator
$sel:dynatrace:ConnectorOperator' :: ConnectorOperator -> Maybe DynatraceConnectorOperator
dynatrace} -> Maybe DynatraceConnectorOperator
dynatrace) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe DynatraceConnectorOperator
a -> ConnectorOperator
s {$sel:dynatrace:ConnectorOperator' :: Maybe DynatraceConnectorOperator
dynatrace = Maybe DynatraceConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Marketo source fields.
connectorOperator_marketo :: Lens.Lens' ConnectorOperator (Prelude.Maybe MarketoConnectorOperator)
connectorOperator_marketo :: (Maybe MarketoConnectorOperator
 -> f (Maybe MarketoConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_marketo = (ConnectorOperator -> Maybe MarketoConnectorOperator)
-> (ConnectorOperator
    -> Maybe MarketoConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe MarketoConnectorOperator)
     (Maybe MarketoConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe MarketoConnectorOperator
marketo :: Maybe MarketoConnectorOperator
$sel:marketo:ConnectorOperator' :: ConnectorOperator -> Maybe MarketoConnectorOperator
marketo} -> Maybe MarketoConnectorOperator
marketo) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe MarketoConnectorOperator
a -> ConnectorOperator
s {$sel:marketo:ConnectorOperator' :: Maybe MarketoConnectorOperator
marketo = Maybe MarketoConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Slack source fields.
connectorOperator_slack :: Lens.Lens' ConnectorOperator (Prelude.Maybe SlackConnectorOperator)
connectorOperator_slack :: (Maybe SlackConnectorOperator -> f (Maybe SlackConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_slack = (ConnectorOperator -> Maybe SlackConnectorOperator)
-> (ConnectorOperator
    -> Maybe SlackConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe SlackConnectorOperator)
     (Maybe SlackConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe SlackConnectorOperator
slack :: Maybe SlackConnectorOperator
$sel:slack:ConnectorOperator' :: ConnectorOperator -> Maybe SlackConnectorOperator
slack} -> Maybe SlackConnectorOperator
slack) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe SlackConnectorOperator
a -> ConnectorOperator
s {$sel:slack:ConnectorOperator' :: Maybe SlackConnectorOperator
slack = Maybe SlackConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Singular source fields.
connectorOperator_singular :: Lens.Lens' ConnectorOperator (Prelude.Maybe SingularConnectorOperator)
connectorOperator_singular :: (Maybe SingularConnectorOperator
 -> f (Maybe SingularConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_singular = (ConnectorOperator -> Maybe SingularConnectorOperator)
-> (ConnectorOperator
    -> Maybe SingularConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe SingularConnectorOperator)
     (Maybe SingularConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe SingularConnectorOperator
singular :: Maybe SingularConnectorOperator
$sel:singular:ConnectorOperator' :: ConnectorOperator -> Maybe SingularConnectorOperator
singular} -> Maybe SingularConnectorOperator
singular) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe SingularConnectorOperator
a -> ConnectorOperator
s {$sel:singular:ConnectorOperator' :: Maybe SingularConnectorOperator
singular = Maybe SingularConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Infor Nexus source fields.
connectorOperator_inforNexus :: Lens.Lens' ConnectorOperator (Prelude.Maybe InforNexusConnectorOperator)
connectorOperator_inforNexus :: (Maybe InforNexusConnectorOperator
 -> f (Maybe InforNexusConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_inforNexus = (ConnectorOperator -> Maybe InforNexusConnectorOperator)
-> (ConnectorOperator
    -> Maybe InforNexusConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe InforNexusConnectorOperator)
     (Maybe InforNexusConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe InforNexusConnectorOperator
inforNexus :: Maybe InforNexusConnectorOperator
$sel:inforNexus:ConnectorOperator' :: ConnectorOperator -> Maybe InforNexusConnectorOperator
inforNexus} -> Maybe InforNexusConnectorOperator
inforNexus) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe InforNexusConnectorOperator
a -> ConnectorOperator
s {$sel:inforNexus:ConnectorOperator' :: Maybe InforNexusConnectorOperator
inforNexus = Maybe InforNexusConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Amplitude source fields.
connectorOperator_amplitude :: Lens.Lens' ConnectorOperator (Prelude.Maybe AmplitudeConnectorOperator)
connectorOperator_amplitude :: (Maybe AmplitudeConnectorOperator
 -> f (Maybe AmplitudeConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_amplitude = (ConnectorOperator -> Maybe AmplitudeConnectorOperator)
-> (ConnectorOperator
    -> Maybe AmplitudeConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe AmplitudeConnectorOperator)
     (Maybe AmplitudeConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe AmplitudeConnectorOperator
amplitude :: Maybe AmplitudeConnectorOperator
$sel:amplitude:ConnectorOperator' :: ConnectorOperator -> Maybe AmplitudeConnectorOperator
amplitude} -> Maybe AmplitudeConnectorOperator
amplitude) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe AmplitudeConnectorOperator
a -> ConnectorOperator
s {$sel:amplitude:ConnectorOperator' :: Maybe AmplitudeConnectorOperator
amplitude = Maybe AmplitudeConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Datadog source fields.
connectorOperator_datadog :: Lens.Lens' ConnectorOperator (Prelude.Maybe DatadogConnectorOperator)
connectorOperator_datadog :: (Maybe DatadogConnectorOperator
 -> f (Maybe DatadogConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_datadog = (ConnectorOperator -> Maybe DatadogConnectorOperator)
-> (ConnectorOperator
    -> Maybe DatadogConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe DatadogConnectorOperator)
     (Maybe DatadogConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe DatadogConnectorOperator
datadog :: Maybe DatadogConnectorOperator
$sel:datadog:ConnectorOperator' :: ConnectorOperator -> Maybe DatadogConnectorOperator
datadog} -> Maybe DatadogConnectorOperator
datadog) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe DatadogConnectorOperator
a -> ConnectorOperator
s {$sel:datadog:ConnectorOperator' :: Maybe DatadogConnectorOperator
datadog = Maybe DatadogConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Google Analytics source
-- fields.
connectorOperator_googleAnalytics :: Lens.Lens' ConnectorOperator (Prelude.Maybe GoogleAnalyticsConnectorOperator)
connectorOperator_googleAnalytics :: (Maybe GoogleAnalyticsConnectorOperator
 -> f (Maybe GoogleAnalyticsConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_googleAnalytics = (ConnectorOperator -> Maybe GoogleAnalyticsConnectorOperator)
-> (ConnectorOperator
    -> Maybe GoogleAnalyticsConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe GoogleAnalyticsConnectorOperator)
     (Maybe GoogleAnalyticsConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe GoogleAnalyticsConnectorOperator
googleAnalytics :: Maybe GoogleAnalyticsConnectorOperator
$sel:googleAnalytics:ConnectorOperator' :: ConnectorOperator -> Maybe GoogleAnalyticsConnectorOperator
googleAnalytics} -> Maybe GoogleAnalyticsConnectorOperator
googleAnalytics) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe GoogleAnalyticsConnectorOperator
a -> ConnectorOperator
s {$sel:googleAnalytics:ConnectorOperator' :: Maybe GoogleAnalyticsConnectorOperator
googleAnalytics = Maybe GoogleAnalyticsConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided SAPOData source fields.
connectorOperator_sAPOData :: Lens.Lens' ConnectorOperator (Prelude.Maybe SAPODataConnectorOperator)
connectorOperator_sAPOData :: (Maybe SAPODataConnectorOperator
 -> f (Maybe SAPODataConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_sAPOData = (ConnectorOperator -> Maybe SAPODataConnectorOperator)
-> (ConnectorOperator
    -> Maybe SAPODataConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe SAPODataConnectorOperator)
     (Maybe SAPODataConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe SAPODataConnectorOperator
sAPOData :: Maybe SAPODataConnectorOperator
$sel:sAPOData:ConnectorOperator' :: ConnectorOperator -> Maybe SAPODataConnectorOperator
sAPOData} -> Maybe SAPODataConnectorOperator
sAPOData) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe SAPODataConnectorOperator
a -> ConnectorOperator
s {$sel:sAPOData:ConnectorOperator' :: Maybe SAPODataConnectorOperator
sAPOData = Maybe SAPODataConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Salesforce source fields.
connectorOperator_salesforce :: Lens.Lens' ConnectorOperator (Prelude.Maybe SalesforceConnectorOperator)
connectorOperator_salesforce :: (Maybe SalesforceConnectorOperator
 -> f (Maybe SalesforceConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_salesforce = (ConnectorOperator -> Maybe SalesforceConnectorOperator)
-> (ConnectorOperator
    -> Maybe SalesforceConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe SalesforceConnectorOperator)
     (Maybe SalesforceConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe SalesforceConnectorOperator
salesforce :: Maybe SalesforceConnectorOperator
$sel:salesforce:ConnectorOperator' :: ConnectorOperator -> Maybe SalesforceConnectorOperator
salesforce} -> Maybe SalesforceConnectorOperator
salesforce) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe SalesforceConnectorOperator
a -> ConnectorOperator
s {$sel:salesforce:ConnectorOperator' :: Maybe SalesforceConnectorOperator
salesforce = Maybe SalesforceConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Zendesk source fields.
connectorOperator_zendesk :: Lens.Lens' ConnectorOperator (Prelude.Maybe ZendeskConnectorOperator)
connectorOperator_zendesk :: (Maybe ZendeskConnectorOperator
 -> f (Maybe ZendeskConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_zendesk = (ConnectorOperator -> Maybe ZendeskConnectorOperator)
-> (ConnectorOperator
    -> Maybe ZendeskConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe ZendeskConnectorOperator)
     (Maybe ZendeskConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe ZendeskConnectorOperator
zendesk :: Maybe ZendeskConnectorOperator
$sel:zendesk:ConnectorOperator' :: ConnectorOperator -> Maybe ZendeskConnectorOperator
zendesk} -> Maybe ZendeskConnectorOperator
zendesk) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe ZendeskConnectorOperator
a -> ConnectorOperator
s {$sel:zendesk:ConnectorOperator' :: Maybe ZendeskConnectorOperator
zendesk = Maybe ZendeskConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Amazon S3 source fields.
connectorOperator_s3 :: Lens.Lens' ConnectorOperator (Prelude.Maybe S3ConnectorOperator)
connectorOperator_s3 :: (Maybe S3ConnectorOperator -> f (Maybe S3ConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_s3 = (ConnectorOperator -> Maybe S3ConnectorOperator)
-> (ConnectorOperator
    -> Maybe S3ConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe S3ConnectorOperator)
     (Maybe S3ConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe S3ConnectorOperator
s3 :: Maybe S3ConnectorOperator
$sel:s3:ConnectorOperator' :: ConnectorOperator -> Maybe S3ConnectorOperator
s3} -> Maybe S3ConnectorOperator
s3) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe S3ConnectorOperator
a -> ConnectorOperator
s {$sel:s3:ConnectorOperator' :: Maybe S3ConnectorOperator
s3 = Maybe S3ConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Trend Micro source fields.
connectorOperator_trendmicro :: Lens.Lens' ConnectorOperator (Prelude.Maybe TrendmicroConnectorOperator)
connectorOperator_trendmicro :: (Maybe TrendmicroConnectorOperator
 -> f (Maybe TrendmicroConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_trendmicro = (ConnectorOperator -> Maybe TrendmicroConnectorOperator)
-> (ConnectorOperator
    -> Maybe TrendmicroConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe TrendmicroConnectorOperator)
     (Maybe TrendmicroConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe TrendmicroConnectorOperator
trendmicro :: Maybe TrendmicroConnectorOperator
$sel:trendmicro:ConnectorOperator' :: ConnectorOperator -> Maybe TrendmicroConnectorOperator
trendmicro} -> Maybe TrendmicroConnectorOperator
trendmicro) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe TrendmicroConnectorOperator
a -> ConnectorOperator
s {$sel:trendmicro:ConnectorOperator' :: Maybe TrendmicroConnectorOperator
trendmicro = Maybe TrendmicroConnectorOperator
a} :: ConnectorOperator)

-- | The operation to be performed on the provided Veeva source fields.
connectorOperator_veeva :: Lens.Lens' ConnectorOperator (Prelude.Maybe VeevaConnectorOperator)
connectorOperator_veeva :: (Maybe VeevaConnectorOperator -> f (Maybe VeevaConnectorOperator))
-> ConnectorOperator -> f ConnectorOperator
connectorOperator_veeva = (ConnectorOperator -> Maybe VeevaConnectorOperator)
-> (ConnectorOperator
    -> Maybe VeevaConnectorOperator -> ConnectorOperator)
-> Lens
     ConnectorOperator
     ConnectorOperator
     (Maybe VeevaConnectorOperator)
     (Maybe VeevaConnectorOperator)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorOperator' {Maybe VeevaConnectorOperator
veeva :: Maybe VeevaConnectorOperator
$sel:veeva:ConnectorOperator' :: ConnectorOperator -> Maybe VeevaConnectorOperator
veeva} -> Maybe VeevaConnectorOperator
veeva) (\s :: ConnectorOperator
s@ConnectorOperator' {} Maybe VeevaConnectorOperator
a -> ConnectorOperator
s {$sel:veeva:ConnectorOperator' :: Maybe VeevaConnectorOperator
veeva = Maybe VeevaConnectorOperator
a} :: ConnectorOperator)

instance Core.FromJSON ConnectorOperator where
  parseJSON :: Value -> Parser ConnectorOperator
parseJSON =
    String
-> (Object -> Parser ConnectorOperator)
-> Value
-> Parser ConnectorOperator
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"ConnectorOperator"
      ( \Object
x ->
          Maybe ServiceNowConnectorOperator
-> Maybe DynatraceConnectorOperator
-> Maybe MarketoConnectorOperator
-> Maybe SlackConnectorOperator
-> Maybe SingularConnectorOperator
-> Maybe InforNexusConnectorOperator
-> Maybe AmplitudeConnectorOperator
-> Maybe DatadogConnectorOperator
-> Maybe GoogleAnalyticsConnectorOperator
-> Maybe SAPODataConnectorOperator
-> Maybe SalesforceConnectorOperator
-> Maybe ZendeskConnectorOperator
-> Maybe S3ConnectorOperator
-> Maybe TrendmicroConnectorOperator
-> Maybe VeevaConnectorOperator
-> ConnectorOperator
ConnectorOperator'
            (Maybe ServiceNowConnectorOperator
 -> Maybe DynatraceConnectorOperator
 -> Maybe MarketoConnectorOperator
 -> Maybe SlackConnectorOperator
 -> Maybe SingularConnectorOperator
 -> Maybe InforNexusConnectorOperator
 -> Maybe AmplitudeConnectorOperator
 -> Maybe DatadogConnectorOperator
 -> Maybe GoogleAnalyticsConnectorOperator
 -> Maybe SAPODataConnectorOperator
 -> Maybe SalesforceConnectorOperator
 -> Maybe ZendeskConnectorOperator
 -> Maybe S3ConnectorOperator
 -> Maybe TrendmicroConnectorOperator
 -> Maybe VeevaConnectorOperator
 -> ConnectorOperator)
-> Parser (Maybe ServiceNowConnectorOperator)
-> Parser
     (Maybe DynatraceConnectorOperator
      -> Maybe MarketoConnectorOperator
      -> Maybe SlackConnectorOperator
      -> Maybe SingularConnectorOperator
      -> Maybe InforNexusConnectorOperator
      -> Maybe AmplitudeConnectorOperator
      -> Maybe DatadogConnectorOperator
      -> Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe ServiceNowConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ServiceNow")
            Parser
  (Maybe DynatraceConnectorOperator
   -> Maybe MarketoConnectorOperator
   -> Maybe SlackConnectorOperator
   -> Maybe SingularConnectorOperator
   -> Maybe InforNexusConnectorOperator
   -> Maybe AmplitudeConnectorOperator
   -> Maybe DatadogConnectorOperator
   -> Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe DynatraceConnectorOperator)
-> Parser
     (Maybe MarketoConnectorOperator
      -> Maybe SlackConnectorOperator
      -> Maybe SingularConnectorOperator
      -> Maybe InforNexusConnectorOperator
      -> Maybe AmplitudeConnectorOperator
      -> Maybe DatadogConnectorOperator
      -> Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DynatraceConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Dynatrace")
            Parser
  (Maybe MarketoConnectorOperator
   -> Maybe SlackConnectorOperator
   -> Maybe SingularConnectorOperator
   -> Maybe InforNexusConnectorOperator
   -> Maybe AmplitudeConnectorOperator
   -> Maybe DatadogConnectorOperator
   -> Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe MarketoConnectorOperator)
-> Parser
     (Maybe SlackConnectorOperator
      -> Maybe SingularConnectorOperator
      -> Maybe InforNexusConnectorOperator
      -> Maybe AmplitudeConnectorOperator
      -> Maybe DatadogConnectorOperator
      -> Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe MarketoConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Marketo")
            Parser
  (Maybe SlackConnectorOperator
   -> Maybe SingularConnectorOperator
   -> Maybe InforNexusConnectorOperator
   -> Maybe AmplitudeConnectorOperator
   -> Maybe DatadogConnectorOperator
   -> Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe SlackConnectorOperator)
-> Parser
     (Maybe SingularConnectorOperator
      -> Maybe InforNexusConnectorOperator
      -> Maybe AmplitudeConnectorOperator
      -> Maybe DatadogConnectorOperator
      -> Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SlackConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Slack")
            Parser
  (Maybe SingularConnectorOperator
   -> Maybe InforNexusConnectorOperator
   -> Maybe AmplitudeConnectorOperator
   -> Maybe DatadogConnectorOperator
   -> Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe SingularConnectorOperator)
-> Parser
     (Maybe InforNexusConnectorOperator
      -> Maybe AmplitudeConnectorOperator
      -> Maybe DatadogConnectorOperator
      -> Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SingularConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Singular")
            Parser
  (Maybe InforNexusConnectorOperator
   -> Maybe AmplitudeConnectorOperator
   -> Maybe DatadogConnectorOperator
   -> Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe InforNexusConnectorOperator)
-> Parser
     (Maybe AmplitudeConnectorOperator
      -> Maybe DatadogConnectorOperator
      -> Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe InforNexusConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"InforNexus")
            Parser
  (Maybe AmplitudeConnectorOperator
   -> Maybe DatadogConnectorOperator
   -> Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe AmplitudeConnectorOperator)
-> Parser
     (Maybe DatadogConnectorOperator
      -> Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AmplitudeConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Amplitude")
            Parser
  (Maybe DatadogConnectorOperator
   -> Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe DatadogConnectorOperator)
-> Parser
     (Maybe GoogleAnalyticsConnectorOperator
      -> Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DatadogConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Datadog")
            Parser
  (Maybe GoogleAnalyticsConnectorOperator
   -> Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe GoogleAnalyticsConnectorOperator)
-> Parser
     (Maybe SAPODataConnectorOperator
      -> Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe GoogleAnalyticsConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"GoogleAnalytics")
            Parser
  (Maybe SAPODataConnectorOperator
   -> Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe SAPODataConnectorOperator)
-> Parser
     (Maybe SalesforceConnectorOperator
      -> Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SAPODataConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SAPOData")
            Parser
  (Maybe SalesforceConnectorOperator
   -> Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe SalesforceConnectorOperator)
-> Parser
     (Maybe ZendeskConnectorOperator
      -> Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SalesforceConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Salesforce")
            Parser
  (Maybe ZendeskConnectorOperator
   -> Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe ZendeskConnectorOperator)
-> Parser
     (Maybe S3ConnectorOperator
      -> Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator
      -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ZendeskConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Zendesk")
            Parser
  (Maybe S3ConnectorOperator
   -> Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator
   -> ConnectorOperator)
-> Parser (Maybe S3ConnectorOperator)
-> Parser
     (Maybe TrendmicroConnectorOperator
      -> Maybe VeevaConnectorOperator -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe S3ConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"S3")
            Parser
  (Maybe TrendmicroConnectorOperator
   -> Maybe VeevaConnectorOperator -> ConnectorOperator)
-> Parser (Maybe TrendmicroConnectorOperator)
-> Parser (Maybe VeevaConnectorOperator -> ConnectorOperator)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TrendmicroConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Trendmicro")
            Parser (Maybe VeevaConnectorOperator -> ConnectorOperator)
-> Parser (Maybe VeevaConnectorOperator)
-> Parser ConnectorOperator
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe VeevaConnectorOperator)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Veeva")
      )

instance Prelude.Hashable ConnectorOperator

instance Prelude.NFData ConnectorOperator

instance Core.ToJSON ConnectorOperator where
  toJSON :: ConnectorOperator -> Value
toJSON ConnectorOperator' {Maybe AmplitudeConnectorOperator
Maybe DatadogConnectorOperator
Maybe DynatraceConnectorOperator
Maybe GoogleAnalyticsConnectorOperator
Maybe InforNexusConnectorOperator
Maybe MarketoConnectorOperator
Maybe S3ConnectorOperator
Maybe SAPODataConnectorOperator
Maybe SalesforceConnectorOperator
Maybe ServiceNowConnectorOperator
Maybe SingularConnectorOperator
Maybe SlackConnectorOperator
Maybe TrendmicroConnectorOperator
Maybe VeevaConnectorOperator
Maybe ZendeskConnectorOperator
veeva :: Maybe VeevaConnectorOperator
trendmicro :: Maybe TrendmicroConnectorOperator
s3 :: Maybe S3ConnectorOperator
zendesk :: Maybe ZendeskConnectorOperator
salesforce :: Maybe SalesforceConnectorOperator
sAPOData :: Maybe SAPODataConnectorOperator
googleAnalytics :: Maybe GoogleAnalyticsConnectorOperator
datadog :: Maybe DatadogConnectorOperator
amplitude :: Maybe AmplitudeConnectorOperator
inforNexus :: Maybe InforNexusConnectorOperator
singular :: Maybe SingularConnectorOperator
slack :: Maybe SlackConnectorOperator
marketo :: Maybe MarketoConnectorOperator
dynatrace :: Maybe DynatraceConnectorOperator
serviceNow :: Maybe ServiceNowConnectorOperator
$sel:veeva:ConnectorOperator' :: ConnectorOperator -> Maybe VeevaConnectorOperator
$sel:trendmicro:ConnectorOperator' :: ConnectorOperator -> Maybe TrendmicroConnectorOperator
$sel:s3:ConnectorOperator' :: ConnectorOperator -> Maybe S3ConnectorOperator
$sel:zendesk:ConnectorOperator' :: ConnectorOperator -> Maybe ZendeskConnectorOperator
$sel:salesforce:ConnectorOperator' :: ConnectorOperator -> Maybe SalesforceConnectorOperator
$sel:sAPOData:ConnectorOperator' :: ConnectorOperator -> Maybe SAPODataConnectorOperator
$sel:googleAnalytics:ConnectorOperator' :: ConnectorOperator -> Maybe GoogleAnalyticsConnectorOperator
$sel:datadog:ConnectorOperator' :: ConnectorOperator -> Maybe DatadogConnectorOperator
$sel:amplitude:ConnectorOperator' :: ConnectorOperator -> Maybe AmplitudeConnectorOperator
$sel:inforNexus:ConnectorOperator' :: ConnectorOperator -> Maybe InforNexusConnectorOperator
$sel:singular:ConnectorOperator' :: ConnectorOperator -> Maybe SingularConnectorOperator
$sel:slack:ConnectorOperator' :: ConnectorOperator -> Maybe SlackConnectorOperator
$sel:marketo:ConnectorOperator' :: ConnectorOperator -> Maybe MarketoConnectorOperator
$sel:dynatrace:ConnectorOperator' :: ConnectorOperator -> Maybe DynatraceConnectorOperator
$sel:serviceNow:ConnectorOperator' :: ConnectorOperator -> Maybe ServiceNowConnectorOperator
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"ServiceNow" Text -> ServiceNowConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (ServiceNowConnectorOperator -> Pair)
-> Maybe ServiceNowConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ServiceNowConnectorOperator
serviceNow,
            (Text
"Dynatrace" Text -> DynatraceConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (DynatraceConnectorOperator -> Pair)
-> Maybe DynatraceConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DynatraceConnectorOperator
dynatrace,
            (Text
"Marketo" Text -> MarketoConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (MarketoConnectorOperator -> Pair)
-> Maybe MarketoConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MarketoConnectorOperator
marketo,
            (Text
"Slack" Text -> SlackConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (SlackConnectorOperator -> Pair)
-> Maybe SlackConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SlackConnectorOperator
slack,
            (Text
"Singular" Text -> SingularConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (SingularConnectorOperator -> Pair)
-> Maybe SingularConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SingularConnectorOperator
singular,
            (Text
"InforNexus" Text -> InforNexusConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (InforNexusConnectorOperator -> Pair)
-> Maybe InforNexusConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe InforNexusConnectorOperator
inforNexus,
            (Text
"Amplitude" Text -> AmplitudeConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AmplitudeConnectorOperator -> Pair)
-> Maybe AmplitudeConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AmplitudeConnectorOperator
amplitude,
            (Text
"Datadog" Text -> DatadogConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (DatadogConnectorOperator -> Pair)
-> Maybe DatadogConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DatadogConnectorOperator
datadog,
            (Text
"GoogleAnalytics" Text -> GoogleAnalyticsConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (GoogleAnalyticsConnectorOperator -> Pair)
-> Maybe GoogleAnalyticsConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GoogleAnalyticsConnectorOperator
googleAnalytics,
            (Text
"SAPOData" Text -> SAPODataConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (SAPODataConnectorOperator -> Pair)
-> Maybe SAPODataConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SAPODataConnectorOperator
sAPOData,
            (Text
"Salesforce" Text -> SalesforceConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (SalesforceConnectorOperator -> Pair)
-> Maybe SalesforceConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SalesforceConnectorOperator
salesforce,
            (Text
"Zendesk" Text -> ZendeskConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (ZendeskConnectorOperator -> Pair)
-> Maybe ZendeskConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ZendeskConnectorOperator
zendesk,
            (Text
"S3" Text -> S3ConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (S3ConnectorOperator -> Pair)
-> Maybe S3ConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3ConnectorOperator
s3,
            (Text
"Trendmicro" Text -> TrendmicroConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (TrendmicroConnectorOperator -> Pair)
-> Maybe TrendmicroConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TrendmicroConnectorOperator
trendmicro,
            (Text
"Veeva" Text -> VeevaConnectorOperator -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (VeevaConnectorOperator -> Pair)
-> Maybe VeevaConnectorOperator -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VeevaConnectorOperator
veeva
          ]
      )