{-# 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.SourceConnectorProperties
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.AppFlow.Types.SourceConnectorProperties where

import Amazonka.AppFlow.Types.AmplitudeSourceProperties
import Amazonka.AppFlow.Types.CustomConnectorSourceProperties
import Amazonka.AppFlow.Types.DatadogSourceProperties
import Amazonka.AppFlow.Types.DynatraceSourceProperties
import Amazonka.AppFlow.Types.GoogleAnalyticsSourceProperties
import Amazonka.AppFlow.Types.InforNexusSourceProperties
import Amazonka.AppFlow.Types.MarketoSourceProperties
import Amazonka.AppFlow.Types.S3SourceProperties
import Amazonka.AppFlow.Types.SAPODataSourceProperties
import Amazonka.AppFlow.Types.SalesforceSourceProperties
import Amazonka.AppFlow.Types.ServiceNowSourceProperties
import Amazonka.AppFlow.Types.SingularSourceProperties
import Amazonka.AppFlow.Types.SlackSourceProperties
import Amazonka.AppFlow.Types.TrendmicroSourceProperties
import Amazonka.AppFlow.Types.VeevaSourceProperties
import Amazonka.AppFlow.Types.ZendeskSourceProperties
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

-- | Specifies the information that is required to query a particular
-- connector.
--
-- /See:/ 'newSourceConnectorProperties' smart constructor.
data SourceConnectorProperties = SourceConnectorProperties'
  { -- | Specifies the information that is required for querying Amplitude.
    SourceConnectorProperties -> Maybe AmplitudeSourceProperties
amplitude :: Prelude.Maybe AmplitudeSourceProperties,
    SourceConnectorProperties -> Maybe CustomConnectorSourceProperties
customConnector :: Prelude.Maybe CustomConnectorSourceProperties,
    -- | Specifies the information that is required for querying Datadog.
    SourceConnectorProperties -> Maybe DatadogSourceProperties
datadog :: Prelude.Maybe DatadogSourceProperties,
    -- | Specifies the information that is required for querying Dynatrace.
    SourceConnectorProperties -> Maybe DynatraceSourceProperties
dynatrace :: Prelude.Maybe DynatraceSourceProperties,
    -- | Specifies the information that is required for querying Google
    -- Analytics.
    SourceConnectorProperties -> Maybe GoogleAnalyticsSourceProperties
googleAnalytics :: Prelude.Maybe GoogleAnalyticsSourceProperties,
    -- | Specifies the information that is required for querying Infor Nexus.
    SourceConnectorProperties -> Maybe InforNexusSourceProperties
inforNexus :: Prelude.Maybe InforNexusSourceProperties,
    -- | Specifies the information that is required for querying Marketo.
    SourceConnectorProperties -> Maybe MarketoSourceProperties
marketo :: Prelude.Maybe MarketoSourceProperties,
    -- | Specifies the information that is required for querying Amazon S3.
    SourceConnectorProperties -> Maybe S3SourceProperties
s3 :: Prelude.Maybe S3SourceProperties,
    SourceConnectorProperties -> Maybe SAPODataSourceProperties
sAPOData :: Prelude.Maybe SAPODataSourceProperties,
    -- | Specifies the information that is required for querying Salesforce.
    SourceConnectorProperties -> Maybe SalesforceSourceProperties
salesforce :: Prelude.Maybe SalesforceSourceProperties,
    -- | Specifies the information that is required for querying ServiceNow.
    SourceConnectorProperties -> Maybe ServiceNowSourceProperties
serviceNow :: Prelude.Maybe ServiceNowSourceProperties,
    -- | Specifies the information that is required for querying Singular.
    SourceConnectorProperties -> Maybe SingularSourceProperties
singular :: Prelude.Maybe SingularSourceProperties,
    -- | Specifies the information that is required for querying Slack.
    SourceConnectorProperties -> Maybe SlackSourceProperties
slack :: Prelude.Maybe SlackSourceProperties,
    -- | Specifies the information that is required for querying Trend Micro.
    SourceConnectorProperties -> Maybe TrendmicroSourceProperties
trendmicro :: Prelude.Maybe TrendmicroSourceProperties,
    -- | Specifies the information that is required for querying Veeva.
    SourceConnectorProperties -> Maybe VeevaSourceProperties
veeva :: Prelude.Maybe VeevaSourceProperties,
    -- | Specifies the information that is required for querying Zendesk.
    SourceConnectorProperties -> Maybe ZendeskSourceProperties
zendesk :: Prelude.Maybe ZendeskSourceProperties
  }
  deriving (SourceConnectorProperties -> SourceConnectorProperties -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SourceConnectorProperties -> SourceConnectorProperties -> Bool
$c/= :: SourceConnectorProperties -> SourceConnectorProperties -> Bool
== :: SourceConnectorProperties -> SourceConnectorProperties -> Bool
$c== :: SourceConnectorProperties -> SourceConnectorProperties -> Bool
Prelude.Eq, ReadPrec [SourceConnectorProperties]
ReadPrec SourceConnectorProperties
Int -> ReadS SourceConnectorProperties
ReadS [SourceConnectorProperties]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SourceConnectorProperties]
$creadListPrec :: ReadPrec [SourceConnectorProperties]
readPrec :: ReadPrec SourceConnectorProperties
$creadPrec :: ReadPrec SourceConnectorProperties
readList :: ReadS [SourceConnectorProperties]
$creadList :: ReadS [SourceConnectorProperties]
readsPrec :: Int -> ReadS SourceConnectorProperties
$creadsPrec :: Int -> ReadS SourceConnectorProperties
Prelude.Read, Int -> SourceConnectorProperties -> ShowS
[SourceConnectorProperties] -> ShowS
SourceConnectorProperties -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SourceConnectorProperties] -> ShowS
$cshowList :: [SourceConnectorProperties] -> ShowS
show :: SourceConnectorProperties -> String
$cshow :: SourceConnectorProperties -> String
showsPrec :: Int -> SourceConnectorProperties -> ShowS
$cshowsPrec :: Int -> SourceConnectorProperties -> ShowS
Prelude.Show, forall x.
Rep SourceConnectorProperties x -> SourceConnectorProperties
forall x.
SourceConnectorProperties -> Rep SourceConnectorProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SourceConnectorProperties x -> SourceConnectorProperties
$cfrom :: forall x.
SourceConnectorProperties -> Rep SourceConnectorProperties x
Prelude.Generic)

-- |
-- Create a value of 'SourceConnectorProperties' 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:
--
-- 'amplitude', 'sourceConnectorProperties_amplitude' - Specifies the information that is required for querying Amplitude.
--
-- 'customConnector', 'sourceConnectorProperties_customConnector' - Undocumented member.
--
-- 'datadog', 'sourceConnectorProperties_datadog' - Specifies the information that is required for querying Datadog.
--
-- 'dynatrace', 'sourceConnectorProperties_dynatrace' - Specifies the information that is required for querying Dynatrace.
--
-- 'googleAnalytics', 'sourceConnectorProperties_googleAnalytics' - Specifies the information that is required for querying Google
-- Analytics.
--
-- 'inforNexus', 'sourceConnectorProperties_inforNexus' - Specifies the information that is required for querying Infor Nexus.
--
-- 'marketo', 'sourceConnectorProperties_marketo' - Specifies the information that is required for querying Marketo.
--
-- 's3', 'sourceConnectorProperties_s3' - Specifies the information that is required for querying Amazon S3.
--
-- 'sAPOData', 'sourceConnectorProperties_sAPOData' - Undocumented member.
--
-- 'salesforce', 'sourceConnectorProperties_salesforce' - Specifies the information that is required for querying Salesforce.
--
-- 'serviceNow', 'sourceConnectorProperties_serviceNow' - Specifies the information that is required for querying ServiceNow.
--
-- 'singular', 'sourceConnectorProperties_singular' - Specifies the information that is required for querying Singular.
--
-- 'slack', 'sourceConnectorProperties_slack' - Specifies the information that is required for querying Slack.
--
-- 'trendmicro', 'sourceConnectorProperties_trendmicro' - Specifies the information that is required for querying Trend Micro.
--
-- 'veeva', 'sourceConnectorProperties_veeva' - Specifies the information that is required for querying Veeva.
--
-- 'zendesk', 'sourceConnectorProperties_zendesk' - Specifies the information that is required for querying Zendesk.
newSourceConnectorProperties ::
  SourceConnectorProperties
newSourceConnectorProperties :: SourceConnectorProperties
newSourceConnectorProperties =
  SourceConnectorProperties'
    { $sel:amplitude:SourceConnectorProperties' :: Maybe AmplitudeSourceProperties
amplitude =
        forall a. Maybe a
Prelude.Nothing,
      $sel:customConnector:SourceConnectorProperties' :: Maybe CustomConnectorSourceProperties
customConnector = forall a. Maybe a
Prelude.Nothing,
      $sel:datadog:SourceConnectorProperties' :: Maybe DatadogSourceProperties
datadog = forall a. Maybe a
Prelude.Nothing,
      $sel:dynatrace:SourceConnectorProperties' :: Maybe DynatraceSourceProperties
dynatrace = forall a. Maybe a
Prelude.Nothing,
      $sel:googleAnalytics:SourceConnectorProperties' :: Maybe GoogleAnalyticsSourceProperties
googleAnalytics = forall a. Maybe a
Prelude.Nothing,
      $sel:inforNexus:SourceConnectorProperties' :: Maybe InforNexusSourceProperties
inforNexus = forall a. Maybe a
Prelude.Nothing,
      $sel:marketo:SourceConnectorProperties' :: Maybe MarketoSourceProperties
marketo = forall a. Maybe a
Prelude.Nothing,
      $sel:s3:SourceConnectorProperties' :: Maybe S3SourceProperties
s3 = forall a. Maybe a
Prelude.Nothing,
      $sel:sAPOData:SourceConnectorProperties' :: Maybe SAPODataSourceProperties
sAPOData = forall a. Maybe a
Prelude.Nothing,
      $sel:salesforce:SourceConnectorProperties' :: Maybe SalesforceSourceProperties
salesforce = forall a. Maybe a
Prelude.Nothing,
      $sel:serviceNow:SourceConnectorProperties' :: Maybe ServiceNowSourceProperties
serviceNow = forall a. Maybe a
Prelude.Nothing,
      $sel:singular:SourceConnectorProperties' :: Maybe SingularSourceProperties
singular = forall a. Maybe a
Prelude.Nothing,
      $sel:slack:SourceConnectorProperties' :: Maybe SlackSourceProperties
slack = forall a. Maybe a
Prelude.Nothing,
      $sel:trendmicro:SourceConnectorProperties' :: Maybe TrendmicroSourceProperties
trendmicro = forall a. Maybe a
Prelude.Nothing,
      $sel:veeva:SourceConnectorProperties' :: Maybe VeevaSourceProperties
veeva = forall a. Maybe a
Prelude.Nothing,
      $sel:zendesk:SourceConnectorProperties' :: Maybe ZendeskSourceProperties
zendesk = forall a. Maybe a
Prelude.Nothing
    }

-- | Specifies the information that is required for querying Amplitude.
sourceConnectorProperties_amplitude :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe AmplitudeSourceProperties)
sourceConnectorProperties_amplitude :: Lens' SourceConnectorProperties (Maybe AmplitudeSourceProperties)
sourceConnectorProperties_amplitude = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe AmplitudeSourceProperties
amplitude :: Maybe AmplitudeSourceProperties
$sel:amplitude:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe AmplitudeSourceProperties
amplitude} -> Maybe AmplitudeSourceProperties
amplitude) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe AmplitudeSourceProperties
a -> SourceConnectorProperties
s {$sel:amplitude:SourceConnectorProperties' :: Maybe AmplitudeSourceProperties
amplitude = Maybe AmplitudeSourceProperties
a} :: SourceConnectorProperties)

-- | Undocumented member.
sourceConnectorProperties_customConnector :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe CustomConnectorSourceProperties)
sourceConnectorProperties_customConnector :: Lens'
  SourceConnectorProperties (Maybe CustomConnectorSourceProperties)
sourceConnectorProperties_customConnector = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe CustomConnectorSourceProperties
customConnector :: Maybe CustomConnectorSourceProperties
$sel:customConnector:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe CustomConnectorSourceProperties
customConnector} -> Maybe CustomConnectorSourceProperties
customConnector) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe CustomConnectorSourceProperties
a -> SourceConnectorProperties
s {$sel:customConnector:SourceConnectorProperties' :: Maybe CustomConnectorSourceProperties
customConnector = Maybe CustomConnectorSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Datadog.
sourceConnectorProperties_datadog :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe DatadogSourceProperties)
sourceConnectorProperties_datadog :: Lens' SourceConnectorProperties (Maybe DatadogSourceProperties)
sourceConnectorProperties_datadog = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe DatadogSourceProperties
datadog :: Maybe DatadogSourceProperties
$sel:datadog:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DatadogSourceProperties
datadog} -> Maybe DatadogSourceProperties
datadog) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe DatadogSourceProperties
a -> SourceConnectorProperties
s {$sel:datadog:SourceConnectorProperties' :: Maybe DatadogSourceProperties
datadog = Maybe DatadogSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Dynatrace.
sourceConnectorProperties_dynatrace :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe DynatraceSourceProperties)
sourceConnectorProperties_dynatrace :: Lens' SourceConnectorProperties (Maybe DynatraceSourceProperties)
sourceConnectorProperties_dynatrace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe DynatraceSourceProperties
dynatrace :: Maybe DynatraceSourceProperties
$sel:dynatrace:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DynatraceSourceProperties
dynatrace} -> Maybe DynatraceSourceProperties
dynatrace) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe DynatraceSourceProperties
a -> SourceConnectorProperties
s {$sel:dynatrace:SourceConnectorProperties' :: Maybe DynatraceSourceProperties
dynatrace = Maybe DynatraceSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Google
-- Analytics.
sourceConnectorProperties_googleAnalytics :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe GoogleAnalyticsSourceProperties)
sourceConnectorProperties_googleAnalytics :: Lens'
  SourceConnectorProperties (Maybe GoogleAnalyticsSourceProperties)
sourceConnectorProperties_googleAnalytics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe GoogleAnalyticsSourceProperties
googleAnalytics :: Maybe GoogleAnalyticsSourceProperties
$sel:googleAnalytics:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe GoogleAnalyticsSourceProperties
googleAnalytics} -> Maybe GoogleAnalyticsSourceProperties
googleAnalytics) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe GoogleAnalyticsSourceProperties
a -> SourceConnectorProperties
s {$sel:googleAnalytics:SourceConnectorProperties' :: Maybe GoogleAnalyticsSourceProperties
googleAnalytics = Maybe GoogleAnalyticsSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Infor Nexus.
sourceConnectorProperties_inforNexus :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe InforNexusSourceProperties)
sourceConnectorProperties_inforNexus :: Lens' SourceConnectorProperties (Maybe InforNexusSourceProperties)
sourceConnectorProperties_inforNexus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe InforNexusSourceProperties
inforNexus :: Maybe InforNexusSourceProperties
$sel:inforNexus:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe InforNexusSourceProperties
inforNexus} -> Maybe InforNexusSourceProperties
inforNexus) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe InforNexusSourceProperties
a -> SourceConnectorProperties
s {$sel:inforNexus:SourceConnectorProperties' :: Maybe InforNexusSourceProperties
inforNexus = Maybe InforNexusSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Marketo.
sourceConnectorProperties_marketo :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe MarketoSourceProperties)
sourceConnectorProperties_marketo :: Lens' SourceConnectorProperties (Maybe MarketoSourceProperties)
sourceConnectorProperties_marketo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe MarketoSourceProperties
marketo :: Maybe MarketoSourceProperties
$sel:marketo:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe MarketoSourceProperties
marketo} -> Maybe MarketoSourceProperties
marketo) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe MarketoSourceProperties
a -> SourceConnectorProperties
s {$sel:marketo:SourceConnectorProperties' :: Maybe MarketoSourceProperties
marketo = Maybe MarketoSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Amazon S3.
sourceConnectorProperties_s3 :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe S3SourceProperties)
sourceConnectorProperties_s3 :: Lens' SourceConnectorProperties (Maybe S3SourceProperties)
sourceConnectorProperties_s3 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe S3SourceProperties
s3 :: Maybe S3SourceProperties
$sel:s3:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe S3SourceProperties
s3} -> Maybe S3SourceProperties
s3) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe S3SourceProperties
a -> SourceConnectorProperties
s {$sel:s3:SourceConnectorProperties' :: Maybe S3SourceProperties
s3 = Maybe S3SourceProperties
a} :: SourceConnectorProperties)

-- | Undocumented member.
sourceConnectorProperties_sAPOData :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SAPODataSourceProperties)
sourceConnectorProperties_sAPOData :: Lens' SourceConnectorProperties (Maybe SAPODataSourceProperties)
sourceConnectorProperties_sAPOData = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe SAPODataSourceProperties
sAPOData :: Maybe SAPODataSourceProperties
$sel:sAPOData:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SAPODataSourceProperties
sAPOData} -> Maybe SAPODataSourceProperties
sAPOData) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe SAPODataSourceProperties
a -> SourceConnectorProperties
s {$sel:sAPOData:SourceConnectorProperties' :: Maybe SAPODataSourceProperties
sAPOData = Maybe SAPODataSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Salesforce.
sourceConnectorProperties_salesforce :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SalesforceSourceProperties)
sourceConnectorProperties_salesforce :: Lens' SourceConnectorProperties (Maybe SalesforceSourceProperties)
sourceConnectorProperties_salesforce = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe SalesforceSourceProperties
salesforce :: Maybe SalesforceSourceProperties
$sel:salesforce:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SalesforceSourceProperties
salesforce} -> Maybe SalesforceSourceProperties
salesforce) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe SalesforceSourceProperties
a -> SourceConnectorProperties
s {$sel:salesforce:SourceConnectorProperties' :: Maybe SalesforceSourceProperties
salesforce = Maybe SalesforceSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying ServiceNow.
sourceConnectorProperties_serviceNow :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe ServiceNowSourceProperties)
sourceConnectorProperties_serviceNow :: Lens' SourceConnectorProperties (Maybe ServiceNowSourceProperties)
sourceConnectorProperties_serviceNow = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe ServiceNowSourceProperties
serviceNow :: Maybe ServiceNowSourceProperties
$sel:serviceNow:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ServiceNowSourceProperties
serviceNow} -> Maybe ServiceNowSourceProperties
serviceNow) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe ServiceNowSourceProperties
a -> SourceConnectorProperties
s {$sel:serviceNow:SourceConnectorProperties' :: Maybe ServiceNowSourceProperties
serviceNow = Maybe ServiceNowSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Singular.
sourceConnectorProperties_singular :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SingularSourceProperties)
sourceConnectorProperties_singular :: Lens' SourceConnectorProperties (Maybe SingularSourceProperties)
sourceConnectorProperties_singular = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe SingularSourceProperties
singular :: Maybe SingularSourceProperties
$sel:singular:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SingularSourceProperties
singular} -> Maybe SingularSourceProperties
singular) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe SingularSourceProperties
a -> SourceConnectorProperties
s {$sel:singular:SourceConnectorProperties' :: Maybe SingularSourceProperties
singular = Maybe SingularSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Slack.
sourceConnectorProperties_slack :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe SlackSourceProperties)
sourceConnectorProperties_slack :: Lens' SourceConnectorProperties (Maybe SlackSourceProperties)
sourceConnectorProperties_slack = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe SlackSourceProperties
slack :: Maybe SlackSourceProperties
$sel:slack:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SlackSourceProperties
slack} -> Maybe SlackSourceProperties
slack) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe SlackSourceProperties
a -> SourceConnectorProperties
s {$sel:slack:SourceConnectorProperties' :: Maybe SlackSourceProperties
slack = Maybe SlackSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Trend Micro.
sourceConnectorProperties_trendmicro :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe TrendmicroSourceProperties)
sourceConnectorProperties_trendmicro :: Lens' SourceConnectorProperties (Maybe TrendmicroSourceProperties)
sourceConnectorProperties_trendmicro = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe TrendmicroSourceProperties
trendmicro :: Maybe TrendmicroSourceProperties
$sel:trendmicro:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe TrendmicroSourceProperties
trendmicro} -> Maybe TrendmicroSourceProperties
trendmicro) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe TrendmicroSourceProperties
a -> SourceConnectorProperties
s {$sel:trendmicro:SourceConnectorProperties' :: Maybe TrendmicroSourceProperties
trendmicro = Maybe TrendmicroSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Veeva.
sourceConnectorProperties_veeva :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe VeevaSourceProperties)
sourceConnectorProperties_veeva :: Lens' SourceConnectorProperties (Maybe VeevaSourceProperties)
sourceConnectorProperties_veeva = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe VeevaSourceProperties
veeva :: Maybe VeevaSourceProperties
$sel:veeva:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe VeevaSourceProperties
veeva} -> Maybe VeevaSourceProperties
veeva) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe VeevaSourceProperties
a -> SourceConnectorProperties
s {$sel:veeva:SourceConnectorProperties' :: Maybe VeevaSourceProperties
veeva = Maybe VeevaSourceProperties
a} :: SourceConnectorProperties)

-- | Specifies the information that is required for querying Zendesk.
sourceConnectorProperties_zendesk :: Lens.Lens' SourceConnectorProperties (Prelude.Maybe ZendeskSourceProperties)
sourceConnectorProperties_zendesk :: Lens' SourceConnectorProperties (Maybe ZendeskSourceProperties)
sourceConnectorProperties_zendesk = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SourceConnectorProperties' {Maybe ZendeskSourceProperties
zendesk :: Maybe ZendeskSourceProperties
$sel:zendesk:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ZendeskSourceProperties
zendesk} -> Maybe ZendeskSourceProperties
zendesk) (\s :: SourceConnectorProperties
s@SourceConnectorProperties' {} Maybe ZendeskSourceProperties
a -> SourceConnectorProperties
s {$sel:zendesk:SourceConnectorProperties' :: Maybe ZendeskSourceProperties
zendesk = Maybe ZendeskSourceProperties
a} :: SourceConnectorProperties)

instance Data.FromJSON SourceConnectorProperties where
  parseJSON :: Value -> Parser SourceConnectorProperties
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"SourceConnectorProperties"
      ( \Object
x ->
          Maybe AmplitudeSourceProperties
-> Maybe CustomConnectorSourceProperties
-> Maybe DatadogSourceProperties
-> Maybe DynatraceSourceProperties
-> Maybe GoogleAnalyticsSourceProperties
-> Maybe InforNexusSourceProperties
-> Maybe MarketoSourceProperties
-> Maybe S3SourceProperties
-> Maybe SAPODataSourceProperties
-> Maybe SalesforceSourceProperties
-> Maybe ServiceNowSourceProperties
-> Maybe SingularSourceProperties
-> Maybe SlackSourceProperties
-> Maybe TrendmicroSourceProperties
-> Maybe VeevaSourceProperties
-> Maybe ZendeskSourceProperties
-> SourceConnectorProperties
SourceConnectorProperties'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Amplitude")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"CustomConnector")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Datadog")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Dynatrace")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"GoogleAnalytics")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"InforNexus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Marketo")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"S3")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SAPOData")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Salesforce")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ServiceNow")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Singular")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Slack")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Trendmicro")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Veeva")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Zendesk")
      )

instance Prelude.Hashable SourceConnectorProperties where
  hashWithSalt :: Int -> SourceConnectorProperties -> Int
hashWithSalt Int
_salt SourceConnectorProperties' {Maybe AmplitudeSourceProperties
Maybe CustomConnectorSourceProperties
Maybe DatadogSourceProperties
Maybe DynatraceSourceProperties
Maybe GoogleAnalyticsSourceProperties
Maybe InforNexusSourceProperties
Maybe MarketoSourceProperties
Maybe S3SourceProperties
Maybe SAPODataSourceProperties
Maybe SalesforceSourceProperties
Maybe ServiceNowSourceProperties
Maybe SingularSourceProperties
Maybe SlackSourceProperties
Maybe TrendmicroSourceProperties
Maybe VeevaSourceProperties
Maybe ZendeskSourceProperties
zendesk :: Maybe ZendeskSourceProperties
veeva :: Maybe VeevaSourceProperties
trendmicro :: Maybe TrendmicroSourceProperties
slack :: Maybe SlackSourceProperties
singular :: Maybe SingularSourceProperties
serviceNow :: Maybe ServiceNowSourceProperties
salesforce :: Maybe SalesforceSourceProperties
sAPOData :: Maybe SAPODataSourceProperties
s3 :: Maybe S3SourceProperties
marketo :: Maybe MarketoSourceProperties
inforNexus :: Maybe InforNexusSourceProperties
googleAnalytics :: Maybe GoogleAnalyticsSourceProperties
dynatrace :: Maybe DynatraceSourceProperties
datadog :: Maybe DatadogSourceProperties
customConnector :: Maybe CustomConnectorSourceProperties
amplitude :: Maybe AmplitudeSourceProperties
$sel:zendesk:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ZendeskSourceProperties
$sel:veeva:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe VeevaSourceProperties
$sel:trendmicro:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe TrendmicroSourceProperties
$sel:slack:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SlackSourceProperties
$sel:singular:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SingularSourceProperties
$sel:serviceNow:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ServiceNowSourceProperties
$sel:salesforce:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SalesforceSourceProperties
$sel:sAPOData:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SAPODataSourceProperties
$sel:s3:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe S3SourceProperties
$sel:marketo:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe MarketoSourceProperties
$sel:inforNexus:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe InforNexusSourceProperties
$sel:googleAnalytics:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe GoogleAnalyticsSourceProperties
$sel:dynatrace:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DynatraceSourceProperties
$sel:datadog:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DatadogSourceProperties
$sel:customConnector:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe CustomConnectorSourceProperties
$sel:amplitude:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe AmplitudeSourceProperties
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AmplitudeSourceProperties
amplitude
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CustomConnectorSourceProperties
customConnector
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DatadogSourceProperties
datadog
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DynatraceSourceProperties
dynatrace
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GoogleAnalyticsSourceProperties
googleAnalytics
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InforNexusSourceProperties
inforNexus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MarketoSourceProperties
marketo
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe S3SourceProperties
s3
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SAPODataSourceProperties
sAPOData
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SalesforceSourceProperties
salesforce
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServiceNowSourceProperties
serviceNow
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SingularSourceProperties
singular
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SlackSourceProperties
slack
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrendmicroSourceProperties
trendmicro
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VeevaSourceProperties
veeva
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ZendeskSourceProperties
zendesk

instance Prelude.NFData SourceConnectorProperties where
  rnf :: SourceConnectorProperties -> ()
rnf SourceConnectorProperties' {Maybe AmplitudeSourceProperties
Maybe CustomConnectorSourceProperties
Maybe DatadogSourceProperties
Maybe DynatraceSourceProperties
Maybe GoogleAnalyticsSourceProperties
Maybe InforNexusSourceProperties
Maybe MarketoSourceProperties
Maybe S3SourceProperties
Maybe SAPODataSourceProperties
Maybe SalesforceSourceProperties
Maybe ServiceNowSourceProperties
Maybe SingularSourceProperties
Maybe SlackSourceProperties
Maybe TrendmicroSourceProperties
Maybe VeevaSourceProperties
Maybe ZendeskSourceProperties
zendesk :: Maybe ZendeskSourceProperties
veeva :: Maybe VeevaSourceProperties
trendmicro :: Maybe TrendmicroSourceProperties
slack :: Maybe SlackSourceProperties
singular :: Maybe SingularSourceProperties
serviceNow :: Maybe ServiceNowSourceProperties
salesforce :: Maybe SalesforceSourceProperties
sAPOData :: Maybe SAPODataSourceProperties
s3 :: Maybe S3SourceProperties
marketo :: Maybe MarketoSourceProperties
inforNexus :: Maybe InforNexusSourceProperties
googleAnalytics :: Maybe GoogleAnalyticsSourceProperties
dynatrace :: Maybe DynatraceSourceProperties
datadog :: Maybe DatadogSourceProperties
customConnector :: Maybe CustomConnectorSourceProperties
amplitude :: Maybe AmplitudeSourceProperties
$sel:zendesk:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ZendeskSourceProperties
$sel:veeva:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe VeevaSourceProperties
$sel:trendmicro:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe TrendmicroSourceProperties
$sel:slack:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SlackSourceProperties
$sel:singular:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SingularSourceProperties
$sel:serviceNow:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ServiceNowSourceProperties
$sel:salesforce:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SalesforceSourceProperties
$sel:sAPOData:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SAPODataSourceProperties
$sel:s3:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe S3SourceProperties
$sel:marketo:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe MarketoSourceProperties
$sel:inforNexus:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe InforNexusSourceProperties
$sel:googleAnalytics:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe GoogleAnalyticsSourceProperties
$sel:dynatrace:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DynatraceSourceProperties
$sel:datadog:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DatadogSourceProperties
$sel:customConnector:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe CustomConnectorSourceProperties
$sel:amplitude:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe AmplitudeSourceProperties
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe AmplitudeSourceProperties
amplitude
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CustomConnectorSourceProperties
customConnector
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DatadogSourceProperties
datadog
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DynatraceSourceProperties
dynatrace
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe GoogleAnalyticsSourceProperties
googleAnalytics
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InforNexusSourceProperties
inforNexus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MarketoSourceProperties
marketo
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe S3SourceProperties
s3
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SAPODataSourceProperties
sAPOData
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SalesforceSourceProperties
salesforce
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ServiceNowSourceProperties
serviceNow
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SingularSourceProperties
singular
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SlackSourceProperties
slack
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrendmicroSourceProperties
trendmicro
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VeevaSourceProperties
veeva
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ZendeskSourceProperties
zendesk

instance Data.ToJSON SourceConnectorProperties where
  toJSON :: SourceConnectorProperties -> Value
toJSON SourceConnectorProperties' {Maybe AmplitudeSourceProperties
Maybe CustomConnectorSourceProperties
Maybe DatadogSourceProperties
Maybe DynatraceSourceProperties
Maybe GoogleAnalyticsSourceProperties
Maybe InforNexusSourceProperties
Maybe MarketoSourceProperties
Maybe S3SourceProperties
Maybe SAPODataSourceProperties
Maybe SalesforceSourceProperties
Maybe ServiceNowSourceProperties
Maybe SingularSourceProperties
Maybe SlackSourceProperties
Maybe TrendmicroSourceProperties
Maybe VeevaSourceProperties
Maybe ZendeskSourceProperties
zendesk :: Maybe ZendeskSourceProperties
veeva :: Maybe VeevaSourceProperties
trendmicro :: Maybe TrendmicroSourceProperties
slack :: Maybe SlackSourceProperties
singular :: Maybe SingularSourceProperties
serviceNow :: Maybe ServiceNowSourceProperties
salesforce :: Maybe SalesforceSourceProperties
sAPOData :: Maybe SAPODataSourceProperties
s3 :: Maybe S3SourceProperties
marketo :: Maybe MarketoSourceProperties
inforNexus :: Maybe InforNexusSourceProperties
googleAnalytics :: Maybe GoogleAnalyticsSourceProperties
dynatrace :: Maybe DynatraceSourceProperties
datadog :: Maybe DatadogSourceProperties
customConnector :: Maybe CustomConnectorSourceProperties
amplitude :: Maybe AmplitudeSourceProperties
$sel:zendesk:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ZendeskSourceProperties
$sel:veeva:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe VeevaSourceProperties
$sel:trendmicro:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe TrendmicroSourceProperties
$sel:slack:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SlackSourceProperties
$sel:singular:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SingularSourceProperties
$sel:serviceNow:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe ServiceNowSourceProperties
$sel:salesforce:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SalesforceSourceProperties
$sel:sAPOData:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe SAPODataSourceProperties
$sel:s3:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe S3SourceProperties
$sel:marketo:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe MarketoSourceProperties
$sel:inforNexus:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe InforNexusSourceProperties
$sel:googleAnalytics:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe GoogleAnalyticsSourceProperties
$sel:dynatrace:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DynatraceSourceProperties
$sel:datadog:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe DatadogSourceProperties
$sel:customConnector:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe CustomConnectorSourceProperties
$sel:amplitude:SourceConnectorProperties' :: SourceConnectorProperties -> Maybe AmplitudeSourceProperties
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Amplitude" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AmplitudeSourceProperties
amplitude,
            (Key
"CustomConnector" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CustomConnectorSourceProperties
customConnector,
            (Key
"Datadog" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DatadogSourceProperties
datadog,
            (Key
"Dynatrace" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DynatraceSourceProperties
dynatrace,
            (Key
"GoogleAnalytics" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GoogleAnalyticsSourceProperties
googleAnalytics,
            (Key
"InforNexus" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe InforNexusSourceProperties
inforNexus,
            (Key
"Marketo" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MarketoSourceProperties
marketo,
            (Key
"S3" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3SourceProperties
s3,
            (Key
"SAPOData" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SAPODataSourceProperties
sAPOData,
            (Key
"Salesforce" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SalesforceSourceProperties
salesforce,
            (Key
"ServiceNow" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ServiceNowSourceProperties
serviceNow,
            (Key
"Singular" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SingularSourceProperties
singular,
            (Key
"Slack" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SlackSourceProperties
slack,
            (Key
"Trendmicro" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TrendmicroSourceProperties
trendmicro,
            (Key
"Veeva" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VeevaSourceProperties
veeva,
            (Key
"Zendesk" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ZendeskSourceProperties
zendesk
          ]
      )