{-# 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.ConnectorMetadata
-- 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.ConnectorMetadata where

import Amazonka.AppFlow.Types.AmplitudeMetadata
import Amazonka.AppFlow.Types.CustomerProfilesMetadata
import Amazonka.AppFlow.Types.DatadogMetadata
import Amazonka.AppFlow.Types.DynatraceMetadata
import Amazonka.AppFlow.Types.EventBridgeMetadata
import Amazonka.AppFlow.Types.GoogleAnalyticsMetadata
import Amazonka.AppFlow.Types.HoneycodeMetadata
import Amazonka.AppFlow.Types.InforNexusMetadata
import Amazonka.AppFlow.Types.MarketoMetadata
import Amazonka.AppFlow.Types.RedshiftMetadata
import Amazonka.AppFlow.Types.S3Metadata
import Amazonka.AppFlow.Types.SAPODataMetadata
import Amazonka.AppFlow.Types.SalesforceMetadata
import Amazonka.AppFlow.Types.ServiceNowMetadata
import Amazonka.AppFlow.Types.SingularMetadata
import Amazonka.AppFlow.Types.SlackMetadata
import Amazonka.AppFlow.Types.SnowflakeMetadata
import Amazonka.AppFlow.Types.TrendmicroMetadata
import Amazonka.AppFlow.Types.UpsolverMetadata
import Amazonka.AppFlow.Types.VeevaMetadata
import Amazonka.AppFlow.Types.ZendeskMetadata
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | A structure to specify connector-specific metadata such as
-- @oAuthScopes@, @supportedRegions@, @privateLinkServiceUrl@, and so on.
--
-- /See:/ 'newConnectorMetadata' smart constructor.
data ConnectorMetadata = ConnectorMetadata'
  { -- | The connector metadata specific to Upsolver.
    ConnectorMetadata -> Maybe UpsolverMetadata
upsolver :: Prelude.Maybe UpsolverMetadata,
    -- | The connector metadata specific to Snowflake.
    ConnectorMetadata -> Maybe SnowflakeMetadata
snowflake :: Prelude.Maybe SnowflakeMetadata,
    -- | The connector metadata specific to Amazon Honeycode.
    ConnectorMetadata -> Maybe HoneycodeMetadata
honeycode :: Prelude.Maybe HoneycodeMetadata,
    -- | The connector metadata specific to ServiceNow.
    ConnectorMetadata -> Maybe ServiceNowMetadata
serviceNow :: Prelude.Maybe ServiceNowMetadata,
    -- | The connector metadata specific to Dynatrace.
    ConnectorMetadata -> Maybe DynatraceMetadata
dynatrace :: Prelude.Maybe DynatraceMetadata,
    -- | The connector metadata specific to Marketo.
    ConnectorMetadata -> Maybe MarketoMetadata
marketo :: Prelude.Maybe MarketoMetadata,
    -- | The connector metadata specific to Slack.
    ConnectorMetadata -> Maybe SlackMetadata
slack :: Prelude.Maybe SlackMetadata,
    -- | The connector metadata specific to Singular.
    ConnectorMetadata -> Maybe SingularMetadata
singular :: Prelude.Maybe SingularMetadata,
    -- | The connector metadata specific to Infor Nexus.
    ConnectorMetadata -> Maybe InforNexusMetadata
inforNexus :: Prelude.Maybe InforNexusMetadata,
    -- | The connector metadata specific to Amplitude.
    ConnectorMetadata -> Maybe AmplitudeMetadata
amplitude :: Prelude.Maybe AmplitudeMetadata,
    -- | The connector metadata specific to Amazon Connect Customer Profiles.
    ConnectorMetadata -> Maybe CustomerProfilesMetadata
customerProfiles :: Prelude.Maybe CustomerProfilesMetadata,
    -- | The connector metadata specific to Datadog.
    ConnectorMetadata -> Maybe DatadogMetadata
datadog :: Prelude.Maybe DatadogMetadata,
    -- | The connector metadata specific to Google Analytics.
    ConnectorMetadata -> Maybe GoogleAnalyticsMetadata
googleAnalytics :: Prelude.Maybe GoogleAnalyticsMetadata,
    ConnectorMetadata -> Maybe SAPODataMetadata
sAPOData :: Prelude.Maybe SAPODataMetadata,
    -- | The connector metadata specific to Salesforce.
    ConnectorMetadata -> Maybe SalesforceMetadata
salesforce :: Prelude.Maybe SalesforceMetadata,
    -- | The connector metadata specific to Zendesk.
    ConnectorMetadata -> Maybe ZendeskMetadata
zendesk :: Prelude.Maybe ZendeskMetadata,
    -- | The connector metadata specific to Amazon S3.
    ConnectorMetadata -> Maybe S3Metadata
s3 :: Prelude.Maybe S3Metadata,
    -- | The connector metadata specific to Amazon EventBridge.
    ConnectorMetadata -> Maybe EventBridgeMetadata
eventBridge :: Prelude.Maybe EventBridgeMetadata,
    -- | The connector metadata specific to Trend Micro.
    ConnectorMetadata -> Maybe TrendmicroMetadata
trendmicro :: Prelude.Maybe TrendmicroMetadata,
    -- | The connector metadata specific to Amazon Redshift.
    ConnectorMetadata -> Maybe RedshiftMetadata
redshift :: Prelude.Maybe RedshiftMetadata,
    -- | The connector metadata specific to Veeva.
    ConnectorMetadata -> Maybe VeevaMetadata
veeva :: Prelude.Maybe VeevaMetadata
  }
  deriving (ConnectorMetadata -> ConnectorMetadata -> Bool
(ConnectorMetadata -> ConnectorMetadata -> Bool)
-> (ConnectorMetadata -> ConnectorMetadata -> Bool)
-> Eq ConnectorMetadata
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConnectorMetadata -> ConnectorMetadata -> Bool
$c/= :: ConnectorMetadata -> ConnectorMetadata -> Bool
== :: ConnectorMetadata -> ConnectorMetadata -> Bool
$c== :: ConnectorMetadata -> ConnectorMetadata -> Bool
Prelude.Eq, ReadPrec [ConnectorMetadata]
ReadPrec ConnectorMetadata
Int -> ReadS ConnectorMetadata
ReadS [ConnectorMetadata]
(Int -> ReadS ConnectorMetadata)
-> ReadS [ConnectorMetadata]
-> ReadPrec ConnectorMetadata
-> ReadPrec [ConnectorMetadata]
-> Read ConnectorMetadata
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConnectorMetadata]
$creadListPrec :: ReadPrec [ConnectorMetadata]
readPrec :: ReadPrec ConnectorMetadata
$creadPrec :: ReadPrec ConnectorMetadata
readList :: ReadS [ConnectorMetadata]
$creadList :: ReadS [ConnectorMetadata]
readsPrec :: Int -> ReadS ConnectorMetadata
$creadsPrec :: Int -> ReadS ConnectorMetadata
Prelude.Read, Int -> ConnectorMetadata -> ShowS
[ConnectorMetadata] -> ShowS
ConnectorMetadata -> String
(Int -> ConnectorMetadata -> ShowS)
-> (ConnectorMetadata -> String)
-> ([ConnectorMetadata] -> ShowS)
-> Show ConnectorMetadata
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConnectorMetadata] -> ShowS
$cshowList :: [ConnectorMetadata] -> ShowS
show :: ConnectorMetadata -> String
$cshow :: ConnectorMetadata -> String
showsPrec :: Int -> ConnectorMetadata -> ShowS
$cshowsPrec :: Int -> ConnectorMetadata -> ShowS
Prelude.Show, (forall x. ConnectorMetadata -> Rep ConnectorMetadata x)
-> (forall x. Rep ConnectorMetadata x -> ConnectorMetadata)
-> Generic ConnectorMetadata
forall x. Rep ConnectorMetadata x -> ConnectorMetadata
forall x. ConnectorMetadata -> Rep ConnectorMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConnectorMetadata x -> ConnectorMetadata
$cfrom :: forall x. ConnectorMetadata -> Rep ConnectorMetadata x
Prelude.Generic)

-- |
-- Create a value of 'ConnectorMetadata' 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:
--
-- 'upsolver', 'connectorMetadata_upsolver' - The connector metadata specific to Upsolver.
--
-- 'snowflake', 'connectorMetadata_snowflake' - The connector metadata specific to Snowflake.
--
-- 'honeycode', 'connectorMetadata_honeycode' - The connector metadata specific to Amazon Honeycode.
--
-- 'serviceNow', 'connectorMetadata_serviceNow' - The connector metadata specific to ServiceNow.
--
-- 'dynatrace', 'connectorMetadata_dynatrace' - The connector metadata specific to Dynatrace.
--
-- 'marketo', 'connectorMetadata_marketo' - The connector metadata specific to Marketo.
--
-- 'slack', 'connectorMetadata_slack' - The connector metadata specific to Slack.
--
-- 'singular', 'connectorMetadata_singular' - The connector metadata specific to Singular.
--
-- 'inforNexus', 'connectorMetadata_inforNexus' - The connector metadata specific to Infor Nexus.
--
-- 'amplitude', 'connectorMetadata_amplitude' - The connector metadata specific to Amplitude.
--
-- 'customerProfiles', 'connectorMetadata_customerProfiles' - The connector metadata specific to Amazon Connect Customer Profiles.
--
-- 'datadog', 'connectorMetadata_datadog' - The connector metadata specific to Datadog.
--
-- 'googleAnalytics', 'connectorMetadata_googleAnalytics' - The connector metadata specific to Google Analytics.
--
-- 'sAPOData', 'connectorMetadata_sAPOData' - Undocumented member.
--
-- 'salesforce', 'connectorMetadata_salesforce' - The connector metadata specific to Salesforce.
--
-- 'zendesk', 'connectorMetadata_zendesk' - The connector metadata specific to Zendesk.
--
-- 's3', 'connectorMetadata_s3' - The connector metadata specific to Amazon S3.
--
-- 'eventBridge', 'connectorMetadata_eventBridge' - The connector metadata specific to Amazon EventBridge.
--
-- 'trendmicro', 'connectorMetadata_trendmicro' - The connector metadata specific to Trend Micro.
--
-- 'redshift', 'connectorMetadata_redshift' - The connector metadata specific to Amazon Redshift.
--
-- 'veeva', 'connectorMetadata_veeva' - The connector metadata specific to Veeva.
newConnectorMetadata ::
  ConnectorMetadata
newConnectorMetadata :: ConnectorMetadata
newConnectorMetadata =
  ConnectorMetadata' :: Maybe UpsolverMetadata
-> Maybe SnowflakeMetadata
-> Maybe HoneycodeMetadata
-> Maybe ServiceNowMetadata
-> Maybe DynatraceMetadata
-> Maybe MarketoMetadata
-> Maybe SlackMetadata
-> Maybe SingularMetadata
-> Maybe InforNexusMetadata
-> Maybe AmplitudeMetadata
-> Maybe CustomerProfilesMetadata
-> Maybe DatadogMetadata
-> Maybe GoogleAnalyticsMetadata
-> Maybe SAPODataMetadata
-> Maybe SalesforceMetadata
-> Maybe ZendeskMetadata
-> Maybe S3Metadata
-> Maybe EventBridgeMetadata
-> Maybe TrendmicroMetadata
-> Maybe RedshiftMetadata
-> Maybe VeevaMetadata
-> ConnectorMetadata
ConnectorMetadata'
    { $sel:upsolver:ConnectorMetadata' :: Maybe UpsolverMetadata
upsolver = Maybe UpsolverMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:snowflake:ConnectorMetadata' :: Maybe SnowflakeMetadata
snowflake = Maybe SnowflakeMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:honeycode:ConnectorMetadata' :: Maybe HoneycodeMetadata
honeycode = Maybe HoneycodeMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:serviceNow:ConnectorMetadata' :: Maybe ServiceNowMetadata
serviceNow = Maybe ServiceNowMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:dynatrace:ConnectorMetadata' :: Maybe DynatraceMetadata
dynatrace = Maybe DynatraceMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:marketo:ConnectorMetadata' :: Maybe MarketoMetadata
marketo = Maybe MarketoMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:slack:ConnectorMetadata' :: Maybe SlackMetadata
slack = Maybe SlackMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:singular:ConnectorMetadata' :: Maybe SingularMetadata
singular = Maybe SingularMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:inforNexus:ConnectorMetadata' :: Maybe InforNexusMetadata
inforNexus = Maybe InforNexusMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:amplitude:ConnectorMetadata' :: Maybe AmplitudeMetadata
amplitude = Maybe AmplitudeMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:customerProfiles:ConnectorMetadata' :: Maybe CustomerProfilesMetadata
customerProfiles = Maybe CustomerProfilesMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:datadog:ConnectorMetadata' :: Maybe DatadogMetadata
datadog = Maybe DatadogMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:googleAnalytics:ConnectorMetadata' :: Maybe GoogleAnalyticsMetadata
googleAnalytics = Maybe GoogleAnalyticsMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:sAPOData:ConnectorMetadata' :: Maybe SAPODataMetadata
sAPOData = Maybe SAPODataMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:salesforce:ConnectorMetadata' :: Maybe SalesforceMetadata
salesforce = Maybe SalesforceMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:zendesk:ConnectorMetadata' :: Maybe ZendeskMetadata
zendesk = Maybe ZendeskMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:s3:ConnectorMetadata' :: Maybe S3Metadata
s3 = Maybe S3Metadata
forall a. Maybe a
Prelude.Nothing,
      $sel:eventBridge:ConnectorMetadata' :: Maybe EventBridgeMetadata
eventBridge = Maybe EventBridgeMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:trendmicro:ConnectorMetadata' :: Maybe TrendmicroMetadata
trendmicro = Maybe TrendmicroMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:redshift:ConnectorMetadata' :: Maybe RedshiftMetadata
redshift = Maybe RedshiftMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:veeva:ConnectorMetadata' :: Maybe VeevaMetadata
veeva = Maybe VeevaMetadata
forall a. Maybe a
Prelude.Nothing
    }

-- | The connector metadata specific to Upsolver.
connectorMetadata_upsolver :: Lens.Lens' ConnectorMetadata (Prelude.Maybe UpsolverMetadata)
connectorMetadata_upsolver :: (Maybe UpsolverMetadata -> f (Maybe UpsolverMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_upsolver = (ConnectorMetadata -> Maybe UpsolverMetadata)
-> (ConnectorMetadata
    -> Maybe UpsolverMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe UpsolverMetadata)
     (Maybe UpsolverMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe UpsolverMetadata
upsolver :: Maybe UpsolverMetadata
$sel:upsolver:ConnectorMetadata' :: ConnectorMetadata -> Maybe UpsolverMetadata
upsolver} -> Maybe UpsolverMetadata
upsolver) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe UpsolverMetadata
a -> ConnectorMetadata
s {$sel:upsolver:ConnectorMetadata' :: Maybe UpsolverMetadata
upsolver = Maybe UpsolverMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Snowflake.
connectorMetadata_snowflake :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SnowflakeMetadata)
connectorMetadata_snowflake :: (Maybe SnowflakeMetadata -> f (Maybe SnowflakeMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_snowflake = (ConnectorMetadata -> Maybe SnowflakeMetadata)
-> (ConnectorMetadata
    -> Maybe SnowflakeMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe SnowflakeMetadata)
     (Maybe SnowflakeMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe SnowflakeMetadata
snowflake :: Maybe SnowflakeMetadata
$sel:snowflake:ConnectorMetadata' :: ConnectorMetadata -> Maybe SnowflakeMetadata
snowflake} -> Maybe SnowflakeMetadata
snowflake) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe SnowflakeMetadata
a -> ConnectorMetadata
s {$sel:snowflake:ConnectorMetadata' :: Maybe SnowflakeMetadata
snowflake = Maybe SnowflakeMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Amazon Honeycode.
connectorMetadata_honeycode :: Lens.Lens' ConnectorMetadata (Prelude.Maybe HoneycodeMetadata)
connectorMetadata_honeycode :: (Maybe HoneycodeMetadata -> f (Maybe HoneycodeMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_honeycode = (ConnectorMetadata -> Maybe HoneycodeMetadata)
-> (ConnectorMetadata
    -> Maybe HoneycodeMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe HoneycodeMetadata)
     (Maybe HoneycodeMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe HoneycodeMetadata
honeycode :: Maybe HoneycodeMetadata
$sel:honeycode:ConnectorMetadata' :: ConnectorMetadata -> Maybe HoneycodeMetadata
honeycode} -> Maybe HoneycodeMetadata
honeycode) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe HoneycodeMetadata
a -> ConnectorMetadata
s {$sel:honeycode:ConnectorMetadata' :: Maybe HoneycodeMetadata
honeycode = Maybe HoneycodeMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to ServiceNow.
connectorMetadata_serviceNow :: Lens.Lens' ConnectorMetadata (Prelude.Maybe ServiceNowMetadata)
connectorMetadata_serviceNow :: (Maybe ServiceNowMetadata -> f (Maybe ServiceNowMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_serviceNow = (ConnectorMetadata -> Maybe ServiceNowMetadata)
-> (ConnectorMetadata
    -> Maybe ServiceNowMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe ServiceNowMetadata)
     (Maybe ServiceNowMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe ServiceNowMetadata
serviceNow :: Maybe ServiceNowMetadata
$sel:serviceNow:ConnectorMetadata' :: ConnectorMetadata -> Maybe ServiceNowMetadata
serviceNow} -> Maybe ServiceNowMetadata
serviceNow) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe ServiceNowMetadata
a -> ConnectorMetadata
s {$sel:serviceNow:ConnectorMetadata' :: Maybe ServiceNowMetadata
serviceNow = Maybe ServiceNowMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Dynatrace.
connectorMetadata_dynatrace :: Lens.Lens' ConnectorMetadata (Prelude.Maybe DynatraceMetadata)
connectorMetadata_dynatrace :: (Maybe DynatraceMetadata -> f (Maybe DynatraceMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_dynatrace = (ConnectorMetadata -> Maybe DynatraceMetadata)
-> (ConnectorMetadata
    -> Maybe DynatraceMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe DynatraceMetadata)
     (Maybe DynatraceMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe DynatraceMetadata
dynatrace :: Maybe DynatraceMetadata
$sel:dynatrace:ConnectorMetadata' :: ConnectorMetadata -> Maybe DynatraceMetadata
dynatrace} -> Maybe DynatraceMetadata
dynatrace) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe DynatraceMetadata
a -> ConnectorMetadata
s {$sel:dynatrace:ConnectorMetadata' :: Maybe DynatraceMetadata
dynatrace = Maybe DynatraceMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Marketo.
connectorMetadata_marketo :: Lens.Lens' ConnectorMetadata (Prelude.Maybe MarketoMetadata)
connectorMetadata_marketo :: (Maybe MarketoMetadata -> f (Maybe MarketoMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_marketo = (ConnectorMetadata -> Maybe MarketoMetadata)
-> (ConnectorMetadata
    -> Maybe MarketoMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe MarketoMetadata)
     (Maybe MarketoMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe MarketoMetadata
marketo :: Maybe MarketoMetadata
$sel:marketo:ConnectorMetadata' :: ConnectorMetadata -> Maybe MarketoMetadata
marketo} -> Maybe MarketoMetadata
marketo) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe MarketoMetadata
a -> ConnectorMetadata
s {$sel:marketo:ConnectorMetadata' :: Maybe MarketoMetadata
marketo = Maybe MarketoMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Slack.
connectorMetadata_slack :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SlackMetadata)
connectorMetadata_slack :: (Maybe SlackMetadata -> f (Maybe SlackMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_slack = (ConnectorMetadata -> Maybe SlackMetadata)
-> (ConnectorMetadata -> Maybe SlackMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe SlackMetadata)
     (Maybe SlackMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe SlackMetadata
slack :: Maybe SlackMetadata
$sel:slack:ConnectorMetadata' :: ConnectorMetadata -> Maybe SlackMetadata
slack} -> Maybe SlackMetadata
slack) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe SlackMetadata
a -> ConnectorMetadata
s {$sel:slack:ConnectorMetadata' :: Maybe SlackMetadata
slack = Maybe SlackMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Singular.
connectorMetadata_singular :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SingularMetadata)
connectorMetadata_singular :: (Maybe SingularMetadata -> f (Maybe SingularMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_singular = (ConnectorMetadata -> Maybe SingularMetadata)
-> (ConnectorMetadata
    -> Maybe SingularMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe SingularMetadata)
     (Maybe SingularMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe SingularMetadata
singular :: Maybe SingularMetadata
$sel:singular:ConnectorMetadata' :: ConnectorMetadata -> Maybe SingularMetadata
singular} -> Maybe SingularMetadata
singular) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe SingularMetadata
a -> ConnectorMetadata
s {$sel:singular:ConnectorMetadata' :: Maybe SingularMetadata
singular = Maybe SingularMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Infor Nexus.
connectorMetadata_inforNexus :: Lens.Lens' ConnectorMetadata (Prelude.Maybe InforNexusMetadata)
connectorMetadata_inforNexus :: (Maybe InforNexusMetadata -> f (Maybe InforNexusMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_inforNexus = (ConnectorMetadata -> Maybe InforNexusMetadata)
-> (ConnectorMetadata
    -> Maybe InforNexusMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe InforNexusMetadata)
     (Maybe InforNexusMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe InforNexusMetadata
inforNexus :: Maybe InforNexusMetadata
$sel:inforNexus:ConnectorMetadata' :: ConnectorMetadata -> Maybe InforNexusMetadata
inforNexus} -> Maybe InforNexusMetadata
inforNexus) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe InforNexusMetadata
a -> ConnectorMetadata
s {$sel:inforNexus:ConnectorMetadata' :: Maybe InforNexusMetadata
inforNexus = Maybe InforNexusMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Amplitude.
connectorMetadata_amplitude :: Lens.Lens' ConnectorMetadata (Prelude.Maybe AmplitudeMetadata)
connectorMetadata_amplitude :: (Maybe AmplitudeMetadata -> f (Maybe AmplitudeMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_amplitude = (ConnectorMetadata -> Maybe AmplitudeMetadata)
-> (ConnectorMetadata
    -> Maybe AmplitudeMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe AmplitudeMetadata)
     (Maybe AmplitudeMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe AmplitudeMetadata
amplitude :: Maybe AmplitudeMetadata
$sel:amplitude:ConnectorMetadata' :: ConnectorMetadata -> Maybe AmplitudeMetadata
amplitude} -> Maybe AmplitudeMetadata
amplitude) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe AmplitudeMetadata
a -> ConnectorMetadata
s {$sel:amplitude:ConnectorMetadata' :: Maybe AmplitudeMetadata
amplitude = Maybe AmplitudeMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Amazon Connect Customer Profiles.
connectorMetadata_customerProfiles :: Lens.Lens' ConnectorMetadata (Prelude.Maybe CustomerProfilesMetadata)
connectorMetadata_customerProfiles :: (Maybe CustomerProfilesMetadata
 -> f (Maybe CustomerProfilesMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_customerProfiles = (ConnectorMetadata -> Maybe CustomerProfilesMetadata)
-> (ConnectorMetadata
    -> Maybe CustomerProfilesMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe CustomerProfilesMetadata)
     (Maybe CustomerProfilesMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe CustomerProfilesMetadata
customerProfiles :: Maybe CustomerProfilesMetadata
$sel:customerProfiles:ConnectorMetadata' :: ConnectorMetadata -> Maybe CustomerProfilesMetadata
customerProfiles} -> Maybe CustomerProfilesMetadata
customerProfiles) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe CustomerProfilesMetadata
a -> ConnectorMetadata
s {$sel:customerProfiles:ConnectorMetadata' :: Maybe CustomerProfilesMetadata
customerProfiles = Maybe CustomerProfilesMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Datadog.
connectorMetadata_datadog :: Lens.Lens' ConnectorMetadata (Prelude.Maybe DatadogMetadata)
connectorMetadata_datadog :: (Maybe DatadogMetadata -> f (Maybe DatadogMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_datadog = (ConnectorMetadata -> Maybe DatadogMetadata)
-> (ConnectorMetadata
    -> Maybe DatadogMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe DatadogMetadata)
     (Maybe DatadogMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe DatadogMetadata
datadog :: Maybe DatadogMetadata
$sel:datadog:ConnectorMetadata' :: ConnectorMetadata -> Maybe DatadogMetadata
datadog} -> Maybe DatadogMetadata
datadog) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe DatadogMetadata
a -> ConnectorMetadata
s {$sel:datadog:ConnectorMetadata' :: Maybe DatadogMetadata
datadog = Maybe DatadogMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Google Analytics.
connectorMetadata_googleAnalytics :: Lens.Lens' ConnectorMetadata (Prelude.Maybe GoogleAnalyticsMetadata)
connectorMetadata_googleAnalytics :: (Maybe GoogleAnalyticsMetadata
 -> f (Maybe GoogleAnalyticsMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_googleAnalytics = (ConnectorMetadata -> Maybe GoogleAnalyticsMetadata)
-> (ConnectorMetadata
    -> Maybe GoogleAnalyticsMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe GoogleAnalyticsMetadata)
     (Maybe GoogleAnalyticsMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe GoogleAnalyticsMetadata
googleAnalytics :: Maybe GoogleAnalyticsMetadata
$sel:googleAnalytics:ConnectorMetadata' :: ConnectorMetadata -> Maybe GoogleAnalyticsMetadata
googleAnalytics} -> Maybe GoogleAnalyticsMetadata
googleAnalytics) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe GoogleAnalyticsMetadata
a -> ConnectorMetadata
s {$sel:googleAnalytics:ConnectorMetadata' :: Maybe GoogleAnalyticsMetadata
googleAnalytics = Maybe GoogleAnalyticsMetadata
a} :: ConnectorMetadata)

-- | Undocumented member.
connectorMetadata_sAPOData :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SAPODataMetadata)
connectorMetadata_sAPOData :: (Maybe SAPODataMetadata -> f (Maybe SAPODataMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_sAPOData = (ConnectorMetadata -> Maybe SAPODataMetadata)
-> (ConnectorMetadata
    -> Maybe SAPODataMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe SAPODataMetadata)
     (Maybe SAPODataMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe SAPODataMetadata
sAPOData :: Maybe SAPODataMetadata
$sel:sAPOData:ConnectorMetadata' :: ConnectorMetadata -> Maybe SAPODataMetadata
sAPOData} -> Maybe SAPODataMetadata
sAPOData) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe SAPODataMetadata
a -> ConnectorMetadata
s {$sel:sAPOData:ConnectorMetadata' :: Maybe SAPODataMetadata
sAPOData = Maybe SAPODataMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Salesforce.
connectorMetadata_salesforce :: Lens.Lens' ConnectorMetadata (Prelude.Maybe SalesforceMetadata)
connectorMetadata_salesforce :: (Maybe SalesforceMetadata -> f (Maybe SalesforceMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_salesforce = (ConnectorMetadata -> Maybe SalesforceMetadata)
-> (ConnectorMetadata
    -> Maybe SalesforceMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe SalesforceMetadata)
     (Maybe SalesforceMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe SalesforceMetadata
salesforce :: Maybe SalesforceMetadata
$sel:salesforce:ConnectorMetadata' :: ConnectorMetadata -> Maybe SalesforceMetadata
salesforce} -> Maybe SalesforceMetadata
salesforce) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe SalesforceMetadata
a -> ConnectorMetadata
s {$sel:salesforce:ConnectorMetadata' :: Maybe SalesforceMetadata
salesforce = Maybe SalesforceMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Zendesk.
connectorMetadata_zendesk :: Lens.Lens' ConnectorMetadata (Prelude.Maybe ZendeskMetadata)
connectorMetadata_zendesk :: (Maybe ZendeskMetadata -> f (Maybe ZendeskMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_zendesk = (ConnectorMetadata -> Maybe ZendeskMetadata)
-> (ConnectorMetadata
    -> Maybe ZendeskMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe ZendeskMetadata)
     (Maybe ZendeskMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe ZendeskMetadata
zendesk :: Maybe ZendeskMetadata
$sel:zendesk:ConnectorMetadata' :: ConnectorMetadata -> Maybe ZendeskMetadata
zendesk} -> Maybe ZendeskMetadata
zendesk) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe ZendeskMetadata
a -> ConnectorMetadata
s {$sel:zendesk:ConnectorMetadata' :: Maybe ZendeskMetadata
zendesk = Maybe ZendeskMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Amazon S3.
connectorMetadata_s3 :: Lens.Lens' ConnectorMetadata (Prelude.Maybe S3Metadata)
connectorMetadata_s3 :: (Maybe S3Metadata -> f (Maybe S3Metadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_s3 = (ConnectorMetadata -> Maybe S3Metadata)
-> (ConnectorMetadata -> Maybe S3Metadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe S3Metadata)
     (Maybe S3Metadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe S3Metadata
s3 :: Maybe S3Metadata
$sel:s3:ConnectorMetadata' :: ConnectorMetadata -> Maybe S3Metadata
s3} -> Maybe S3Metadata
s3) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe S3Metadata
a -> ConnectorMetadata
s {$sel:s3:ConnectorMetadata' :: Maybe S3Metadata
s3 = Maybe S3Metadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Amazon EventBridge.
connectorMetadata_eventBridge :: Lens.Lens' ConnectorMetadata (Prelude.Maybe EventBridgeMetadata)
connectorMetadata_eventBridge :: (Maybe EventBridgeMetadata -> f (Maybe EventBridgeMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_eventBridge = (ConnectorMetadata -> Maybe EventBridgeMetadata)
-> (ConnectorMetadata
    -> Maybe EventBridgeMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe EventBridgeMetadata)
     (Maybe EventBridgeMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe EventBridgeMetadata
eventBridge :: Maybe EventBridgeMetadata
$sel:eventBridge:ConnectorMetadata' :: ConnectorMetadata -> Maybe EventBridgeMetadata
eventBridge} -> Maybe EventBridgeMetadata
eventBridge) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe EventBridgeMetadata
a -> ConnectorMetadata
s {$sel:eventBridge:ConnectorMetadata' :: Maybe EventBridgeMetadata
eventBridge = Maybe EventBridgeMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Trend Micro.
connectorMetadata_trendmicro :: Lens.Lens' ConnectorMetadata (Prelude.Maybe TrendmicroMetadata)
connectorMetadata_trendmicro :: (Maybe TrendmicroMetadata -> f (Maybe TrendmicroMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_trendmicro = (ConnectorMetadata -> Maybe TrendmicroMetadata)
-> (ConnectorMetadata
    -> Maybe TrendmicroMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe TrendmicroMetadata)
     (Maybe TrendmicroMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe TrendmicroMetadata
trendmicro :: Maybe TrendmicroMetadata
$sel:trendmicro:ConnectorMetadata' :: ConnectorMetadata -> Maybe TrendmicroMetadata
trendmicro} -> Maybe TrendmicroMetadata
trendmicro) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe TrendmicroMetadata
a -> ConnectorMetadata
s {$sel:trendmicro:ConnectorMetadata' :: Maybe TrendmicroMetadata
trendmicro = Maybe TrendmicroMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Amazon Redshift.
connectorMetadata_redshift :: Lens.Lens' ConnectorMetadata (Prelude.Maybe RedshiftMetadata)
connectorMetadata_redshift :: (Maybe RedshiftMetadata -> f (Maybe RedshiftMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_redshift = (ConnectorMetadata -> Maybe RedshiftMetadata)
-> (ConnectorMetadata
    -> Maybe RedshiftMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe RedshiftMetadata)
     (Maybe RedshiftMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe RedshiftMetadata
redshift :: Maybe RedshiftMetadata
$sel:redshift:ConnectorMetadata' :: ConnectorMetadata -> Maybe RedshiftMetadata
redshift} -> Maybe RedshiftMetadata
redshift) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe RedshiftMetadata
a -> ConnectorMetadata
s {$sel:redshift:ConnectorMetadata' :: Maybe RedshiftMetadata
redshift = Maybe RedshiftMetadata
a} :: ConnectorMetadata)

-- | The connector metadata specific to Veeva.
connectorMetadata_veeva :: Lens.Lens' ConnectorMetadata (Prelude.Maybe VeevaMetadata)
connectorMetadata_veeva :: (Maybe VeevaMetadata -> f (Maybe VeevaMetadata))
-> ConnectorMetadata -> f ConnectorMetadata
connectorMetadata_veeva = (ConnectorMetadata -> Maybe VeevaMetadata)
-> (ConnectorMetadata -> Maybe VeevaMetadata -> ConnectorMetadata)
-> Lens
     ConnectorMetadata
     ConnectorMetadata
     (Maybe VeevaMetadata)
     (Maybe VeevaMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConnectorMetadata' {Maybe VeevaMetadata
veeva :: Maybe VeevaMetadata
$sel:veeva:ConnectorMetadata' :: ConnectorMetadata -> Maybe VeevaMetadata
veeva} -> Maybe VeevaMetadata
veeva) (\s :: ConnectorMetadata
s@ConnectorMetadata' {} Maybe VeevaMetadata
a -> ConnectorMetadata
s {$sel:veeva:ConnectorMetadata' :: Maybe VeevaMetadata
veeva = Maybe VeevaMetadata
a} :: ConnectorMetadata)

instance Core.FromJSON ConnectorMetadata where
  parseJSON :: Value -> Parser ConnectorMetadata
parseJSON =
    String
-> (Object -> Parser ConnectorMetadata)
-> Value
-> Parser ConnectorMetadata
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"ConnectorMetadata"
      ( \Object
x ->
          Maybe UpsolverMetadata
-> Maybe SnowflakeMetadata
-> Maybe HoneycodeMetadata
-> Maybe ServiceNowMetadata
-> Maybe DynatraceMetadata
-> Maybe MarketoMetadata
-> Maybe SlackMetadata
-> Maybe SingularMetadata
-> Maybe InforNexusMetadata
-> Maybe AmplitudeMetadata
-> Maybe CustomerProfilesMetadata
-> Maybe DatadogMetadata
-> Maybe GoogleAnalyticsMetadata
-> Maybe SAPODataMetadata
-> Maybe SalesforceMetadata
-> Maybe ZendeskMetadata
-> Maybe S3Metadata
-> Maybe EventBridgeMetadata
-> Maybe TrendmicroMetadata
-> Maybe RedshiftMetadata
-> Maybe VeevaMetadata
-> ConnectorMetadata
ConnectorMetadata'
            (Maybe UpsolverMetadata
 -> Maybe SnowflakeMetadata
 -> Maybe HoneycodeMetadata
 -> Maybe ServiceNowMetadata
 -> Maybe DynatraceMetadata
 -> Maybe MarketoMetadata
 -> Maybe SlackMetadata
 -> Maybe SingularMetadata
 -> Maybe InforNexusMetadata
 -> Maybe AmplitudeMetadata
 -> Maybe CustomerProfilesMetadata
 -> Maybe DatadogMetadata
 -> Maybe GoogleAnalyticsMetadata
 -> Maybe SAPODataMetadata
 -> Maybe SalesforceMetadata
 -> Maybe ZendeskMetadata
 -> Maybe S3Metadata
 -> Maybe EventBridgeMetadata
 -> Maybe TrendmicroMetadata
 -> Maybe RedshiftMetadata
 -> Maybe VeevaMetadata
 -> ConnectorMetadata)
-> Parser (Maybe UpsolverMetadata)
-> Parser
     (Maybe SnowflakeMetadata
      -> Maybe HoneycodeMetadata
      -> Maybe ServiceNowMetadata
      -> Maybe DynatraceMetadata
      -> Maybe MarketoMetadata
      -> Maybe SlackMetadata
      -> Maybe SingularMetadata
      -> Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe UpsolverMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Upsolver")
            Parser
  (Maybe SnowflakeMetadata
   -> Maybe HoneycodeMetadata
   -> Maybe ServiceNowMetadata
   -> Maybe DynatraceMetadata
   -> Maybe MarketoMetadata
   -> Maybe SlackMetadata
   -> Maybe SingularMetadata
   -> Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe SnowflakeMetadata)
-> Parser
     (Maybe HoneycodeMetadata
      -> Maybe ServiceNowMetadata
      -> Maybe DynatraceMetadata
      -> Maybe MarketoMetadata
      -> Maybe SlackMetadata
      -> Maybe SingularMetadata
      -> Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SnowflakeMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Snowflake")
            Parser
  (Maybe HoneycodeMetadata
   -> Maybe ServiceNowMetadata
   -> Maybe DynatraceMetadata
   -> Maybe MarketoMetadata
   -> Maybe SlackMetadata
   -> Maybe SingularMetadata
   -> Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe HoneycodeMetadata)
-> Parser
     (Maybe ServiceNowMetadata
      -> Maybe DynatraceMetadata
      -> Maybe MarketoMetadata
      -> Maybe SlackMetadata
      -> Maybe SingularMetadata
      -> Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe HoneycodeMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Honeycode")
            Parser
  (Maybe ServiceNowMetadata
   -> Maybe DynatraceMetadata
   -> Maybe MarketoMetadata
   -> Maybe SlackMetadata
   -> Maybe SingularMetadata
   -> Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe ServiceNowMetadata)
-> Parser
     (Maybe DynatraceMetadata
      -> Maybe MarketoMetadata
      -> Maybe SlackMetadata
      -> Maybe SingularMetadata
      -> Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ServiceNowMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ServiceNow")
            Parser
  (Maybe DynatraceMetadata
   -> Maybe MarketoMetadata
   -> Maybe SlackMetadata
   -> Maybe SingularMetadata
   -> Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe DynatraceMetadata)
-> Parser
     (Maybe MarketoMetadata
      -> Maybe SlackMetadata
      -> Maybe SingularMetadata
      -> Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DynatraceMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Dynatrace")
            Parser
  (Maybe MarketoMetadata
   -> Maybe SlackMetadata
   -> Maybe SingularMetadata
   -> Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe MarketoMetadata)
-> Parser
     (Maybe SlackMetadata
      -> Maybe SingularMetadata
      -> Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe MarketoMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Marketo")
            Parser
  (Maybe SlackMetadata
   -> Maybe SingularMetadata
   -> Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe SlackMetadata)
-> Parser
     (Maybe SingularMetadata
      -> Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SlackMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Slack")
            Parser
  (Maybe SingularMetadata
   -> Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe SingularMetadata)
-> Parser
     (Maybe InforNexusMetadata
      -> Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SingularMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Singular")
            Parser
  (Maybe InforNexusMetadata
   -> Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe InforNexusMetadata)
-> Parser
     (Maybe AmplitudeMetadata
      -> Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe InforNexusMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"InforNexus")
            Parser
  (Maybe AmplitudeMetadata
   -> Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe AmplitudeMetadata)
-> Parser
     (Maybe CustomerProfilesMetadata
      -> Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AmplitudeMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Amplitude")
            Parser
  (Maybe CustomerProfilesMetadata
   -> Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe CustomerProfilesMetadata)
-> Parser
     (Maybe DatadogMetadata
      -> Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe CustomerProfilesMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CustomerProfiles")
            Parser
  (Maybe DatadogMetadata
   -> Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe DatadogMetadata)
-> Parser
     (Maybe GoogleAnalyticsMetadata
      -> Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe DatadogMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Datadog")
            Parser
  (Maybe GoogleAnalyticsMetadata
   -> Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe GoogleAnalyticsMetadata)
-> Parser
     (Maybe SAPODataMetadata
      -> Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe GoogleAnalyticsMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"GoogleAnalytics")
            Parser
  (Maybe SAPODataMetadata
   -> Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe SAPODataMetadata)
-> Parser
     (Maybe SalesforceMetadata
      -> Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SAPODataMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SAPOData")
            Parser
  (Maybe SalesforceMetadata
   -> Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe SalesforceMetadata)
-> Parser
     (Maybe ZendeskMetadata
      -> Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SalesforceMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Salesforce")
            Parser
  (Maybe ZendeskMetadata
   -> Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe ZendeskMetadata)
-> Parser
     (Maybe S3Metadata
      -> Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ZendeskMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Zendesk")
            Parser
  (Maybe S3Metadata
   -> Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe S3Metadata)
-> Parser
     (Maybe EventBridgeMetadata
      -> Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe S3Metadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"S3")
            Parser
  (Maybe EventBridgeMetadata
   -> Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe EventBridgeMetadata)
-> Parser
     (Maybe TrendmicroMetadata
      -> Maybe RedshiftMetadata
      -> Maybe VeevaMetadata
      -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe EventBridgeMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EventBridge")
            Parser
  (Maybe TrendmicroMetadata
   -> Maybe RedshiftMetadata
   -> Maybe VeevaMetadata
   -> ConnectorMetadata)
-> Parser (Maybe TrendmicroMetadata)
-> Parser
     (Maybe RedshiftMetadata
      -> Maybe VeevaMetadata -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TrendmicroMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Trendmicro")
            Parser
  (Maybe RedshiftMetadata
   -> Maybe VeevaMetadata -> ConnectorMetadata)
-> Parser (Maybe RedshiftMetadata)
-> Parser (Maybe VeevaMetadata -> ConnectorMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe RedshiftMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Redshift")
            Parser (Maybe VeevaMetadata -> ConnectorMetadata)
-> Parser (Maybe VeevaMetadata) -> Parser ConnectorMetadata
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe VeevaMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Veeva")
      )

instance Prelude.Hashable ConnectorMetadata

instance Prelude.NFData ConnectorMetadata