{-# 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.QuickSight.Types.DataSourceParameters
-- 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.QuickSight.Types.DataSourceParameters where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.QuickSight.Types.AmazonElasticsearchParameters
import Amazonka.QuickSight.Types.AmazonOpenSearchParameters
import Amazonka.QuickSight.Types.AthenaParameters
import Amazonka.QuickSight.Types.AuroraParameters
import Amazonka.QuickSight.Types.AuroraPostgreSqlParameters
import Amazonka.QuickSight.Types.AwsIotAnalyticsParameters
import Amazonka.QuickSight.Types.JiraParameters
import Amazonka.QuickSight.Types.MariaDbParameters
import Amazonka.QuickSight.Types.MySqlParameters
import Amazonka.QuickSight.Types.OracleParameters
import Amazonka.QuickSight.Types.PostgreSqlParameters
import Amazonka.QuickSight.Types.PrestoParameters
import Amazonka.QuickSight.Types.RdsParameters
import Amazonka.QuickSight.Types.RedshiftParameters
import Amazonka.QuickSight.Types.S3Parameters
import Amazonka.QuickSight.Types.ServiceNowParameters
import Amazonka.QuickSight.Types.SnowflakeParameters
import Amazonka.QuickSight.Types.SparkParameters
import Amazonka.QuickSight.Types.SqlServerParameters
import Amazonka.QuickSight.Types.TeradataParameters
import Amazonka.QuickSight.Types.TwitterParameters

-- | The parameters that Amazon QuickSight uses to connect to your underlying
-- data source. This is a variant type structure. For this structure to be
-- valid, only one of the attributes can be non-null.
--
-- /See:/ 'newDataSourceParameters' smart constructor.
data DataSourceParameters = DataSourceParameters'
  { -- | The parameters for Amazon RDS.
    DataSourceParameters -> Maybe RdsParameters
rdsParameters :: Prelude.Maybe RdsParameters,
    -- | The parameters for S3.
    DataSourceParameters -> Maybe S3Parameters
s3Parameters :: Prelude.Maybe S3Parameters,
    -- | The parameters for Amazon Athena.
    DataSourceParameters -> Maybe AthenaParameters
athenaParameters :: Prelude.Maybe AthenaParameters,
    -- | The parameters for Teradata.
    DataSourceParameters -> Maybe TeradataParameters
teradataParameters :: Prelude.Maybe TeradataParameters,
    -- | The parameters for Amazon Aurora MySQL.
    DataSourceParameters -> Maybe AuroraParameters
auroraParameters :: Prelude.Maybe AuroraParameters,
    -- | The parameters for IoT Analytics.
    DataSourceParameters -> Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters :: Prelude.Maybe AwsIotAnalyticsParameters,
    DataSourceParameters -> Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters :: Prelude.Maybe AmazonOpenSearchParameters,
    -- | The parameters for SQL Server.
    DataSourceParameters -> Maybe SqlServerParameters
sqlServerParameters :: Prelude.Maybe SqlServerParameters,
    -- | The parameters for Amazon Redshift.
    DataSourceParameters -> Maybe RedshiftParameters
redshiftParameters :: Prelude.Maybe RedshiftParameters,
    -- | The parameters for PostgreSQL.
    DataSourceParameters -> Maybe PostgreSqlParameters
postgreSqlParameters :: Prelude.Maybe PostgreSqlParameters,
    -- | The parameters for Oracle.
    DataSourceParameters -> Maybe OracleParameters
oracleParameters :: Prelude.Maybe OracleParameters,
    -- | The parameters for OpenSearch.
    DataSourceParameters -> Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters :: Prelude.Maybe AmazonElasticsearchParameters,
    -- | The parameters for Twitter.
    DataSourceParameters -> Maybe TwitterParameters
twitterParameters :: Prelude.Maybe TwitterParameters,
    -- | The parameters for MariaDB.
    DataSourceParameters -> Maybe MariaDbParameters
mariaDbParameters :: Prelude.Maybe MariaDbParameters,
    -- | The parameters for Jira.
    DataSourceParameters -> Maybe JiraParameters
jiraParameters :: Prelude.Maybe JiraParameters,
    -- | The parameters for Snowflake.
    DataSourceParameters -> Maybe SnowflakeParameters
snowflakeParameters :: Prelude.Maybe SnowflakeParameters,
    -- | The parameters for Presto.
    DataSourceParameters -> Maybe PrestoParameters
prestoParameters :: Prelude.Maybe PrestoParameters,
    -- | The parameters for MySQL.
    DataSourceParameters -> Maybe MySqlParameters
mySqlParameters :: Prelude.Maybe MySqlParameters,
    -- | The parameters for Amazon Aurora.
    DataSourceParameters -> Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters :: Prelude.Maybe AuroraPostgreSqlParameters,
    -- | The parameters for Spark.
    DataSourceParameters -> Maybe SparkParameters
sparkParameters :: Prelude.Maybe SparkParameters,
    -- | The parameters for ServiceNow.
    DataSourceParameters -> Maybe ServiceNowParameters
serviceNowParameters :: Prelude.Maybe ServiceNowParameters
  }
  deriving (DataSourceParameters -> DataSourceParameters -> Bool
(DataSourceParameters -> DataSourceParameters -> Bool)
-> (DataSourceParameters -> DataSourceParameters -> Bool)
-> Eq DataSourceParameters
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DataSourceParameters -> DataSourceParameters -> Bool
$c/= :: DataSourceParameters -> DataSourceParameters -> Bool
== :: DataSourceParameters -> DataSourceParameters -> Bool
$c== :: DataSourceParameters -> DataSourceParameters -> Bool
Prelude.Eq, ReadPrec [DataSourceParameters]
ReadPrec DataSourceParameters
Int -> ReadS DataSourceParameters
ReadS [DataSourceParameters]
(Int -> ReadS DataSourceParameters)
-> ReadS [DataSourceParameters]
-> ReadPrec DataSourceParameters
-> ReadPrec [DataSourceParameters]
-> Read DataSourceParameters
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DataSourceParameters]
$creadListPrec :: ReadPrec [DataSourceParameters]
readPrec :: ReadPrec DataSourceParameters
$creadPrec :: ReadPrec DataSourceParameters
readList :: ReadS [DataSourceParameters]
$creadList :: ReadS [DataSourceParameters]
readsPrec :: Int -> ReadS DataSourceParameters
$creadsPrec :: Int -> ReadS DataSourceParameters
Prelude.Read, Int -> DataSourceParameters -> ShowS
[DataSourceParameters] -> ShowS
DataSourceParameters -> String
(Int -> DataSourceParameters -> ShowS)
-> (DataSourceParameters -> String)
-> ([DataSourceParameters] -> ShowS)
-> Show DataSourceParameters
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DataSourceParameters] -> ShowS
$cshowList :: [DataSourceParameters] -> ShowS
show :: DataSourceParameters -> String
$cshow :: DataSourceParameters -> String
showsPrec :: Int -> DataSourceParameters -> ShowS
$cshowsPrec :: Int -> DataSourceParameters -> ShowS
Prelude.Show, (forall x. DataSourceParameters -> Rep DataSourceParameters x)
-> (forall x. Rep DataSourceParameters x -> DataSourceParameters)
-> Generic DataSourceParameters
forall x. Rep DataSourceParameters x -> DataSourceParameters
forall x. DataSourceParameters -> Rep DataSourceParameters x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DataSourceParameters x -> DataSourceParameters
$cfrom :: forall x. DataSourceParameters -> Rep DataSourceParameters x
Prelude.Generic)

-- |
-- Create a value of 'DataSourceParameters' 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:
--
-- 'rdsParameters', 'dataSourceParameters_rdsParameters' - The parameters for Amazon RDS.
--
-- 's3Parameters', 'dataSourceParameters_s3Parameters' - The parameters for S3.
--
-- 'athenaParameters', 'dataSourceParameters_athenaParameters' - The parameters for Amazon Athena.
--
-- 'teradataParameters', 'dataSourceParameters_teradataParameters' - The parameters for Teradata.
--
-- 'auroraParameters', 'dataSourceParameters_auroraParameters' - The parameters for Amazon Aurora MySQL.
--
-- 'awsIotAnalyticsParameters', 'dataSourceParameters_awsIotAnalyticsParameters' - The parameters for IoT Analytics.
--
-- 'amazonOpenSearchParameters', 'dataSourceParameters_amazonOpenSearchParameters' - Undocumented member.
--
-- 'sqlServerParameters', 'dataSourceParameters_sqlServerParameters' - The parameters for SQL Server.
--
-- 'redshiftParameters', 'dataSourceParameters_redshiftParameters' - The parameters for Amazon Redshift.
--
-- 'postgreSqlParameters', 'dataSourceParameters_postgreSqlParameters' - The parameters for PostgreSQL.
--
-- 'oracleParameters', 'dataSourceParameters_oracleParameters' - The parameters for Oracle.
--
-- 'amazonElasticsearchParameters', 'dataSourceParameters_amazonElasticsearchParameters' - The parameters for OpenSearch.
--
-- 'twitterParameters', 'dataSourceParameters_twitterParameters' - The parameters for Twitter.
--
-- 'mariaDbParameters', 'dataSourceParameters_mariaDbParameters' - The parameters for MariaDB.
--
-- 'jiraParameters', 'dataSourceParameters_jiraParameters' - The parameters for Jira.
--
-- 'snowflakeParameters', 'dataSourceParameters_snowflakeParameters' - The parameters for Snowflake.
--
-- 'prestoParameters', 'dataSourceParameters_prestoParameters' - The parameters for Presto.
--
-- 'mySqlParameters', 'dataSourceParameters_mySqlParameters' - The parameters for MySQL.
--
-- 'auroraPostgreSqlParameters', 'dataSourceParameters_auroraPostgreSqlParameters' - The parameters for Amazon Aurora.
--
-- 'sparkParameters', 'dataSourceParameters_sparkParameters' - The parameters for Spark.
--
-- 'serviceNowParameters', 'dataSourceParameters_serviceNowParameters' - The parameters for ServiceNow.
newDataSourceParameters ::
  DataSourceParameters
newDataSourceParameters :: DataSourceParameters
newDataSourceParameters =
  DataSourceParameters' :: Maybe RdsParameters
-> Maybe S3Parameters
-> Maybe AthenaParameters
-> Maybe TeradataParameters
-> Maybe AuroraParameters
-> Maybe AwsIotAnalyticsParameters
-> Maybe AmazonOpenSearchParameters
-> Maybe SqlServerParameters
-> Maybe RedshiftParameters
-> Maybe PostgreSqlParameters
-> Maybe OracleParameters
-> Maybe AmazonElasticsearchParameters
-> Maybe TwitterParameters
-> Maybe MariaDbParameters
-> Maybe JiraParameters
-> Maybe SnowflakeParameters
-> Maybe PrestoParameters
-> Maybe MySqlParameters
-> Maybe AuroraPostgreSqlParameters
-> Maybe SparkParameters
-> Maybe ServiceNowParameters
-> DataSourceParameters
DataSourceParameters'
    { $sel:rdsParameters:DataSourceParameters' :: Maybe RdsParameters
rdsParameters =
        Maybe RdsParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:s3Parameters:DataSourceParameters' :: Maybe S3Parameters
s3Parameters = Maybe S3Parameters
forall a. Maybe a
Prelude.Nothing,
      $sel:athenaParameters:DataSourceParameters' :: Maybe AthenaParameters
athenaParameters = Maybe AthenaParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:teradataParameters:DataSourceParameters' :: Maybe TeradataParameters
teradataParameters = Maybe TeradataParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:auroraParameters:DataSourceParameters' :: Maybe AuroraParameters
auroraParameters = Maybe AuroraParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:awsIotAnalyticsParameters:DataSourceParameters' :: Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters = Maybe AwsIotAnalyticsParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:amazonOpenSearchParameters:DataSourceParameters' :: Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters = Maybe AmazonOpenSearchParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:sqlServerParameters:DataSourceParameters' :: Maybe SqlServerParameters
sqlServerParameters = Maybe SqlServerParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:redshiftParameters:DataSourceParameters' :: Maybe RedshiftParameters
redshiftParameters = Maybe RedshiftParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:postgreSqlParameters:DataSourceParameters' :: Maybe PostgreSqlParameters
postgreSqlParameters = Maybe PostgreSqlParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:oracleParameters:DataSourceParameters' :: Maybe OracleParameters
oracleParameters = Maybe OracleParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:amazonElasticsearchParameters:DataSourceParameters' :: Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters = Maybe AmazonElasticsearchParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:twitterParameters:DataSourceParameters' :: Maybe TwitterParameters
twitterParameters = Maybe TwitterParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:mariaDbParameters:DataSourceParameters' :: Maybe MariaDbParameters
mariaDbParameters = Maybe MariaDbParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:jiraParameters:DataSourceParameters' :: Maybe JiraParameters
jiraParameters = Maybe JiraParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:snowflakeParameters:DataSourceParameters' :: Maybe SnowflakeParameters
snowflakeParameters = Maybe SnowflakeParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:prestoParameters:DataSourceParameters' :: Maybe PrestoParameters
prestoParameters = Maybe PrestoParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:mySqlParameters:DataSourceParameters' :: Maybe MySqlParameters
mySqlParameters = Maybe MySqlParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:auroraPostgreSqlParameters:DataSourceParameters' :: Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters = Maybe AuroraPostgreSqlParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:sparkParameters:DataSourceParameters' :: Maybe SparkParameters
sparkParameters = Maybe SparkParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:serviceNowParameters:DataSourceParameters' :: Maybe ServiceNowParameters
serviceNowParameters = Maybe ServiceNowParameters
forall a. Maybe a
Prelude.Nothing
    }

-- | The parameters for Amazon RDS.
dataSourceParameters_rdsParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe RdsParameters)
dataSourceParameters_rdsParameters :: (Maybe RdsParameters -> f (Maybe RdsParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_rdsParameters = (DataSourceParameters -> Maybe RdsParameters)
-> (DataSourceParameters
    -> Maybe RdsParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe RdsParameters)
     (Maybe RdsParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe RdsParameters
rdsParameters :: Maybe RdsParameters
$sel:rdsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RdsParameters
rdsParameters} -> Maybe RdsParameters
rdsParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe RdsParameters
a -> DataSourceParameters
s {$sel:rdsParameters:DataSourceParameters' :: Maybe RdsParameters
rdsParameters = Maybe RdsParameters
a} :: DataSourceParameters)

-- | The parameters for S3.
dataSourceParameters_s3Parameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe S3Parameters)
dataSourceParameters_s3Parameters :: (Maybe S3Parameters -> f (Maybe S3Parameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_s3Parameters = (DataSourceParameters -> Maybe S3Parameters)
-> (DataSourceParameters
    -> Maybe S3Parameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe S3Parameters)
     (Maybe S3Parameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe S3Parameters
s3Parameters :: Maybe S3Parameters
$sel:s3Parameters:DataSourceParameters' :: DataSourceParameters -> Maybe S3Parameters
s3Parameters} -> Maybe S3Parameters
s3Parameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe S3Parameters
a -> DataSourceParameters
s {$sel:s3Parameters:DataSourceParameters' :: Maybe S3Parameters
s3Parameters = Maybe S3Parameters
a} :: DataSourceParameters)

-- | The parameters for Amazon Athena.
dataSourceParameters_athenaParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AthenaParameters)
dataSourceParameters_athenaParameters :: (Maybe AthenaParameters -> f (Maybe AthenaParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_athenaParameters = (DataSourceParameters -> Maybe AthenaParameters)
-> (DataSourceParameters
    -> Maybe AthenaParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe AthenaParameters)
     (Maybe AthenaParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe AthenaParameters
athenaParameters :: Maybe AthenaParameters
$sel:athenaParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AthenaParameters
athenaParameters} -> Maybe AthenaParameters
athenaParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe AthenaParameters
a -> DataSourceParameters
s {$sel:athenaParameters:DataSourceParameters' :: Maybe AthenaParameters
athenaParameters = Maybe AthenaParameters
a} :: DataSourceParameters)

-- | The parameters for Teradata.
dataSourceParameters_teradataParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe TeradataParameters)
dataSourceParameters_teradataParameters :: (Maybe TeradataParameters -> f (Maybe TeradataParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_teradataParameters = (DataSourceParameters -> Maybe TeradataParameters)
-> (DataSourceParameters
    -> Maybe TeradataParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe TeradataParameters)
     (Maybe TeradataParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe TeradataParameters
teradataParameters :: Maybe TeradataParameters
$sel:teradataParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TeradataParameters
teradataParameters} -> Maybe TeradataParameters
teradataParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe TeradataParameters
a -> DataSourceParameters
s {$sel:teradataParameters:DataSourceParameters' :: Maybe TeradataParameters
teradataParameters = Maybe TeradataParameters
a} :: DataSourceParameters)

-- | The parameters for Amazon Aurora MySQL.
dataSourceParameters_auroraParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AuroraParameters)
dataSourceParameters_auroraParameters :: (Maybe AuroraParameters -> f (Maybe AuroraParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_auroraParameters = (DataSourceParameters -> Maybe AuroraParameters)
-> (DataSourceParameters
    -> Maybe AuroraParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe AuroraParameters)
     (Maybe AuroraParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe AuroraParameters
auroraParameters :: Maybe AuroraParameters
$sel:auroraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraParameters
auroraParameters} -> Maybe AuroraParameters
auroraParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe AuroraParameters
a -> DataSourceParameters
s {$sel:auroraParameters:DataSourceParameters' :: Maybe AuroraParameters
auroraParameters = Maybe AuroraParameters
a} :: DataSourceParameters)

-- | The parameters for IoT Analytics.
dataSourceParameters_awsIotAnalyticsParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AwsIotAnalyticsParameters)
dataSourceParameters_awsIotAnalyticsParameters :: (Maybe AwsIotAnalyticsParameters
 -> f (Maybe AwsIotAnalyticsParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_awsIotAnalyticsParameters = (DataSourceParameters -> Maybe AwsIotAnalyticsParameters)
-> (DataSourceParameters
    -> Maybe AwsIotAnalyticsParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe AwsIotAnalyticsParameters)
     (Maybe AwsIotAnalyticsParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters :: Maybe AwsIotAnalyticsParameters
$sel:awsIotAnalyticsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters} -> Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe AwsIotAnalyticsParameters
a -> DataSourceParameters
s {$sel:awsIotAnalyticsParameters:DataSourceParameters' :: Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters = Maybe AwsIotAnalyticsParameters
a} :: DataSourceParameters)

-- | Undocumented member.
dataSourceParameters_amazonOpenSearchParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AmazonOpenSearchParameters)
dataSourceParameters_amazonOpenSearchParameters :: (Maybe AmazonOpenSearchParameters
 -> f (Maybe AmazonOpenSearchParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_amazonOpenSearchParameters = (DataSourceParameters -> Maybe AmazonOpenSearchParameters)
-> (DataSourceParameters
    -> Maybe AmazonOpenSearchParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe AmazonOpenSearchParameters)
     (Maybe AmazonOpenSearchParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters :: Maybe AmazonOpenSearchParameters
$sel:amazonOpenSearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters} -> Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe AmazonOpenSearchParameters
a -> DataSourceParameters
s {$sel:amazonOpenSearchParameters:DataSourceParameters' :: Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters = Maybe AmazonOpenSearchParameters
a} :: DataSourceParameters)

-- | The parameters for SQL Server.
dataSourceParameters_sqlServerParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SqlServerParameters)
dataSourceParameters_sqlServerParameters :: (Maybe SqlServerParameters -> f (Maybe SqlServerParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_sqlServerParameters = (DataSourceParameters -> Maybe SqlServerParameters)
-> (DataSourceParameters
    -> Maybe SqlServerParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe SqlServerParameters)
     (Maybe SqlServerParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe SqlServerParameters
sqlServerParameters :: Maybe SqlServerParameters
$sel:sqlServerParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SqlServerParameters
sqlServerParameters} -> Maybe SqlServerParameters
sqlServerParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe SqlServerParameters
a -> DataSourceParameters
s {$sel:sqlServerParameters:DataSourceParameters' :: Maybe SqlServerParameters
sqlServerParameters = Maybe SqlServerParameters
a} :: DataSourceParameters)

-- | The parameters for Amazon Redshift.
dataSourceParameters_redshiftParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe RedshiftParameters)
dataSourceParameters_redshiftParameters :: (Maybe RedshiftParameters -> f (Maybe RedshiftParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_redshiftParameters = (DataSourceParameters -> Maybe RedshiftParameters)
-> (DataSourceParameters
    -> Maybe RedshiftParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe RedshiftParameters)
     (Maybe RedshiftParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe RedshiftParameters
redshiftParameters :: Maybe RedshiftParameters
$sel:redshiftParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RedshiftParameters
redshiftParameters} -> Maybe RedshiftParameters
redshiftParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe RedshiftParameters
a -> DataSourceParameters
s {$sel:redshiftParameters:DataSourceParameters' :: Maybe RedshiftParameters
redshiftParameters = Maybe RedshiftParameters
a} :: DataSourceParameters)

-- | The parameters for PostgreSQL.
dataSourceParameters_postgreSqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe PostgreSqlParameters)
dataSourceParameters_postgreSqlParameters :: (Maybe PostgreSqlParameters -> f (Maybe PostgreSqlParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_postgreSqlParameters = (DataSourceParameters -> Maybe PostgreSqlParameters)
-> (DataSourceParameters
    -> Maybe PostgreSqlParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe PostgreSqlParameters)
     (Maybe PostgreSqlParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe PostgreSqlParameters
postgreSqlParameters :: Maybe PostgreSqlParameters
$sel:postgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PostgreSqlParameters
postgreSqlParameters} -> Maybe PostgreSqlParameters
postgreSqlParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe PostgreSqlParameters
a -> DataSourceParameters
s {$sel:postgreSqlParameters:DataSourceParameters' :: Maybe PostgreSqlParameters
postgreSqlParameters = Maybe PostgreSqlParameters
a} :: DataSourceParameters)

-- | The parameters for Oracle.
dataSourceParameters_oracleParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe OracleParameters)
dataSourceParameters_oracleParameters :: (Maybe OracleParameters -> f (Maybe OracleParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_oracleParameters = (DataSourceParameters -> Maybe OracleParameters)
-> (DataSourceParameters
    -> Maybe OracleParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe OracleParameters)
     (Maybe OracleParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe OracleParameters
oracleParameters :: Maybe OracleParameters
$sel:oracleParameters:DataSourceParameters' :: DataSourceParameters -> Maybe OracleParameters
oracleParameters} -> Maybe OracleParameters
oracleParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe OracleParameters
a -> DataSourceParameters
s {$sel:oracleParameters:DataSourceParameters' :: Maybe OracleParameters
oracleParameters = Maybe OracleParameters
a} :: DataSourceParameters)

-- | The parameters for OpenSearch.
dataSourceParameters_amazonElasticsearchParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AmazonElasticsearchParameters)
dataSourceParameters_amazonElasticsearchParameters :: (Maybe AmazonElasticsearchParameters
 -> f (Maybe AmazonElasticsearchParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_amazonElasticsearchParameters = (DataSourceParameters -> Maybe AmazonElasticsearchParameters)
-> (DataSourceParameters
    -> Maybe AmazonElasticsearchParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe AmazonElasticsearchParameters)
     (Maybe AmazonElasticsearchParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters :: Maybe AmazonElasticsearchParameters
$sel:amazonElasticsearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters} -> Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe AmazonElasticsearchParameters
a -> DataSourceParameters
s {$sel:amazonElasticsearchParameters:DataSourceParameters' :: Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters = Maybe AmazonElasticsearchParameters
a} :: DataSourceParameters)

-- | The parameters for Twitter.
dataSourceParameters_twitterParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe TwitterParameters)
dataSourceParameters_twitterParameters :: (Maybe TwitterParameters -> f (Maybe TwitterParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_twitterParameters = (DataSourceParameters -> Maybe TwitterParameters)
-> (DataSourceParameters
    -> Maybe TwitterParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe TwitterParameters)
     (Maybe TwitterParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe TwitterParameters
twitterParameters :: Maybe TwitterParameters
$sel:twitterParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TwitterParameters
twitterParameters} -> Maybe TwitterParameters
twitterParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe TwitterParameters
a -> DataSourceParameters
s {$sel:twitterParameters:DataSourceParameters' :: Maybe TwitterParameters
twitterParameters = Maybe TwitterParameters
a} :: DataSourceParameters)

-- | The parameters for MariaDB.
dataSourceParameters_mariaDbParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe MariaDbParameters)
dataSourceParameters_mariaDbParameters :: (Maybe MariaDbParameters -> f (Maybe MariaDbParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_mariaDbParameters = (DataSourceParameters -> Maybe MariaDbParameters)
-> (DataSourceParameters
    -> Maybe MariaDbParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe MariaDbParameters)
     (Maybe MariaDbParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe MariaDbParameters
mariaDbParameters :: Maybe MariaDbParameters
$sel:mariaDbParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MariaDbParameters
mariaDbParameters} -> Maybe MariaDbParameters
mariaDbParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe MariaDbParameters
a -> DataSourceParameters
s {$sel:mariaDbParameters:DataSourceParameters' :: Maybe MariaDbParameters
mariaDbParameters = Maybe MariaDbParameters
a} :: DataSourceParameters)

-- | The parameters for Jira.
dataSourceParameters_jiraParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe JiraParameters)
dataSourceParameters_jiraParameters :: (Maybe JiraParameters -> f (Maybe JiraParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_jiraParameters = (DataSourceParameters -> Maybe JiraParameters)
-> (DataSourceParameters
    -> Maybe JiraParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe JiraParameters)
     (Maybe JiraParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe JiraParameters
jiraParameters :: Maybe JiraParameters
$sel:jiraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe JiraParameters
jiraParameters} -> Maybe JiraParameters
jiraParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe JiraParameters
a -> DataSourceParameters
s {$sel:jiraParameters:DataSourceParameters' :: Maybe JiraParameters
jiraParameters = Maybe JiraParameters
a} :: DataSourceParameters)

-- | The parameters for Snowflake.
dataSourceParameters_snowflakeParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SnowflakeParameters)
dataSourceParameters_snowflakeParameters :: (Maybe SnowflakeParameters -> f (Maybe SnowflakeParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_snowflakeParameters = (DataSourceParameters -> Maybe SnowflakeParameters)
-> (DataSourceParameters
    -> Maybe SnowflakeParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe SnowflakeParameters)
     (Maybe SnowflakeParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe SnowflakeParameters
snowflakeParameters :: Maybe SnowflakeParameters
$sel:snowflakeParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SnowflakeParameters
snowflakeParameters} -> Maybe SnowflakeParameters
snowflakeParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe SnowflakeParameters
a -> DataSourceParameters
s {$sel:snowflakeParameters:DataSourceParameters' :: Maybe SnowflakeParameters
snowflakeParameters = Maybe SnowflakeParameters
a} :: DataSourceParameters)

-- | The parameters for Presto.
dataSourceParameters_prestoParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe PrestoParameters)
dataSourceParameters_prestoParameters :: (Maybe PrestoParameters -> f (Maybe PrestoParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_prestoParameters = (DataSourceParameters -> Maybe PrestoParameters)
-> (DataSourceParameters
    -> Maybe PrestoParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe PrestoParameters)
     (Maybe PrestoParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe PrestoParameters
prestoParameters :: Maybe PrestoParameters
$sel:prestoParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PrestoParameters
prestoParameters} -> Maybe PrestoParameters
prestoParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe PrestoParameters
a -> DataSourceParameters
s {$sel:prestoParameters:DataSourceParameters' :: Maybe PrestoParameters
prestoParameters = Maybe PrestoParameters
a} :: DataSourceParameters)

-- | The parameters for MySQL.
dataSourceParameters_mySqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe MySqlParameters)
dataSourceParameters_mySqlParameters :: (Maybe MySqlParameters -> f (Maybe MySqlParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_mySqlParameters = (DataSourceParameters -> Maybe MySqlParameters)
-> (DataSourceParameters
    -> Maybe MySqlParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe MySqlParameters)
     (Maybe MySqlParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe MySqlParameters
mySqlParameters :: Maybe MySqlParameters
$sel:mySqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MySqlParameters
mySqlParameters} -> Maybe MySqlParameters
mySqlParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe MySqlParameters
a -> DataSourceParameters
s {$sel:mySqlParameters:DataSourceParameters' :: Maybe MySqlParameters
mySqlParameters = Maybe MySqlParameters
a} :: DataSourceParameters)

-- | The parameters for Amazon Aurora.
dataSourceParameters_auroraPostgreSqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AuroraPostgreSqlParameters)
dataSourceParameters_auroraPostgreSqlParameters :: (Maybe AuroraPostgreSqlParameters
 -> f (Maybe AuroraPostgreSqlParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_auroraPostgreSqlParameters = (DataSourceParameters -> Maybe AuroraPostgreSqlParameters)
-> (DataSourceParameters
    -> Maybe AuroraPostgreSqlParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe AuroraPostgreSqlParameters)
     (Maybe AuroraPostgreSqlParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters :: Maybe AuroraPostgreSqlParameters
$sel:auroraPostgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters} -> Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe AuroraPostgreSqlParameters
a -> DataSourceParameters
s {$sel:auroraPostgreSqlParameters:DataSourceParameters' :: Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters = Maybe AuroraPostgreSqlParameters
a} :: DataSourceParameters)

-- | The parameters for Spark.
dataSourceParameters_sparkParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SparkParameters)
dataSourceParameters_sparkParameters :: (Maybe SparkParameters -> f (Maybe SparkParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_sparkParameters = (DataSourceParameters -> Maybe SparkParameters)
-> (DataSourceParameters
    -> Maybe SparkParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe SparkParameters)
     (Maybe SparkParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe SparkParameters
sparkParameters :: Maybe SparkParameters
$sel:sparkParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SparkParameters
sparkParameters} -> Maybe SparkParameters
sparkParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe SparkParameters
a -> DataSourceParameters
s {$sel:sparkParameters:DataSourceParameters' :: Maybe SparkParameters
sparkParameters = Maybe SparkParameters
a} :: DataSourceParameters)

-- | The parameters for ServiceNow.
dataSourceParameters_serviceNowParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe ServiceNowParameters)
dataSourceParameters_serviceNowParameters :: (Maybe ServiceNowParameters -> f (Maybe ServiceNowParameters))
-> DataSourceParameters -> f DataSourceParameters
dataSourceParameters_serviceNowParameters = (DataSourceParameters -> Maybe ServiceNowParameters)
-> (DataSourceParameters
    -> Maybe ServiceNowParameters -> DataSourceParameters)
-> Lens
     DataSourceParameters
     DataSourceParameters
     (Maybe ServiceNowParameters)
     (Maybe ServiceNowParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe ServiceNowParameters
serviceNowParameters :: Maybe ServiceNowParameters
$sel:serviceNowParameters:DataSourceParameters' :: DataSourceParameters -> Maybe ServiceNowParameters
serviceNowParameters} -> Maybe ServiceNowParameters
serviceNowParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe ServiceNowParameters
a -> DataSourceParameters
s {$sel:serviceNowParameters:DataSourceParameters' :: Maybe ServiceNowParameters
serviceNowParameters = Maybe ServiceNowParameters
a} :: DataSourceParameters)

instance Core.FromJSON DataSourceParameters where
  parseJSON :: Value -> Parser DataSourceParameters
parseJSON =
    String
-> (Object -> Parser DataSourceParameters)
-> Value
-> Parser DataSourceParameters
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"DataSourceParameters"
      ( \Object
x ->
          Maybe RdsParameters
-> Maybe S3Parameters
-> Maybe AthenaParameters
-> Maybe TeradataParameters
-> Maybe AuroraParameters
-> Maybe AwsIotAnalyticsParameters
-> Maybe AmazonOpenSearchParameters
-> Maybe SqlServerParameters
-> Maybe RedshiftParameters
-> Maybe PostgreSqlParameters
-> Maybe OracleParameters
-> Maybe AmazonElasticsearchParameters
-> Maybe TwitterParameters
-> Maybe MariaDbParameters
-> Maybe JiraParameters
-> Maybe SnowflakeParameters
-> Maybe PrestoParameters
-> Maybe MySqlParameters
-> Maybe AuroraPostgreSqlParameters
-> Maybe SparkParameters
-> Maybe ServiceNowParameters
-> DataSourceParameters
DataSourceParameters'
            (Maybe RdsParameters
 -> Maybe S3Parameters
 -> Maybe AthenaParameters
 -> Maybe TeradataParameters
 -> Maybe AuroraParameters
 -> Maybe AwsIotAnalyticsParameters
 -> Maybe AmazonOpenSearchParameters
 -> Maybe SqlServerParameters
 -> Maybe RedshiftParameters
 -> Maybe PostgreSqlParameters
 -> Maybe OracleParameters
 -> Maybe AmazonElasticsearchParameters
 -> Maybe TwitterParameters
 -> Maybe MariaDbParameters
 -> Maybe JiraParameters
 -> Maybe SnowflakeParameters
 -> Maybe PrestoParameters
 -> Maybe MySqlParameters
 -> Maybe AuroraPostgreSqlParameters
 -> Maybe SparkParameters
 -> Maybe ServiceNowParameters
 -> DataSourceParameters)
-> Parser (Maybe RdsParameters)
-> Parser
     (Maybe S3Parameters
      -> Maybe AthenaParameters
      -> Maybe TeradataParameters
      -> Maybe AuroraParameters
      -> Maybe AwsIotAnalyticsParameters
      -> Maybe AmazonOpenSearchParameters
      -> Maybe SqlServerParameters
      -> Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe RdsParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RdsParameters")
            Parser
  (Maybe S3Parameters
   -> Maybe AthenaParameters
   -> Maybe TeradataParameters
   -> Maybe AuroraParameters
   -> Maybe AwsIotAnalyticsParameters
   -> Maybe AmazonOpenSearchParameters
   -> Maybe SqlServerParameters
   -> Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe S3Parameters)
-> Parser
     (Maybe AthenaParameters
      -> Maybe TeradataParameters
      -> Maybe AuroraParameters
      -> Maybe AwsIotAnalyticsParameters
      -> Maybe AmazonOpenSearchParameters
      -> Maybe SqlServerParameters
      -> Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe S3Parameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"S3Parameters")
            Parser
  (Maybe AthenaParameters
   -> Maybe TeradataParameters
   -> Maybe AuroraParameters
   -> Maybe AwsIotAnalyticsParameters
   -> Maybe AmazonOpenSearchParameters
   -> Maybe SqlServerParameters
   -> Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe AthenaParameters)
-> Parser
     (Maybe TeradataParameters
      -> Maybe AuroraParameters
      -> Maybe AwsIotAnalyticsParameters
      -> Maybe AmazonOpenSearchParameters
      -> Maybe SqlServerParameters
      -> Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AthenaParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AthenaParameters")
            Parser
  (Maybe TeradataParameters
   -> Maybe AuroraParameters
   -> Maybe AwsIotAnalyticsParameters
   -> Maybe AmazonOpenSearchParameters
   -> Maybe SqlServerParameters
   -> Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe TeradataParameters)
-> Parser
     (Maybe AuroraParameters
      -> Maybe AwsIotAnalyticsParameters
      -> Maybe AmazonOpenSearchParameters
      -> Maybe SqlServerParameters
      -> Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TeradataParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TeradataParameters")
            Parser
  (Maybe AuroraParameters
   -> Maybe AwsIotAnalyticsParameters
   -> Maybe AmazonOpenSearchParameters
   -> Maybe SqlServerParameters
   -> Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe AuroraParameters)
-> Parser
     (Maybe AwsIotAnalyticsParameters
      -> Maybe AmazonOpenSearchParameters
      -> Maybe SqlServerParameters
      -> Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AuroraParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AuroraParameters")
            Parser
  (Maybe AwsIotAnalyticsParameters
   -> Maybe AmazonOpenSearchParameters
   -> Maybe SqlServerParameters
   -> Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe AwsIotAnalyticsParameters)
-> Parser
     (Maybe AmazonOpenSearchParameters
      -> Maybe SqlServerParameters
      -> Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsIotAnalyticsParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsIotAnalyticsParameters")
            Parser
  (Maybe AmazonOpenSearchParameters
   -> Maybe SqlServerParameters
   -> Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe AmazonOpenSearchParameters)
-> Parser
     (Maybe SqlServerParameters
      -> Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AmazonOpenSearchParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AmazonOpenSearchParameters")
            Parser
  (Maybe SqlServerParameters
   -> Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe SqlServerParameters)
-> Parser
     (Maybe RedshiftParameters
      -> Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SqlServerParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SqlServerParameters")
            Parser
  (Maybe RedshiftParameters
   -> Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe RedshiftParameters)
-> Parser
     (Maybe PostgreSqlParameters
      -> Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe RedshiftParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RedshiftParameters")
            Parser
  (Maybe PostgreSqlParameters
   -> Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe PostgreSqlParameters)
-> Parser
     (Maybe OracleParameters
      -> Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PostgreSqlParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PostgreSqlParameters")
            Parser
  (Maybe OracleParameters
   -> Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe OracleParameters)
-> Parser
     (Maybe AmazonElasticsearchParameters
      -> Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe OracleParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"OracleParameters")
            Parser
  (Maybe AmazonElasticsearchParameters
   -> Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe AmazonElasticsearchParameters)
-> Parser
     (Maybe TwitterParameters
      -> Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AmazonElasticsearchParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AmazonElasticsearchParameters")
            Parser
  (Maybe TwitterParameters
   -> Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe TwitterParameters)
-> Parser
     (Maybe MariaDbParameters
      -> Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TwitterParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TwitterParameters")
            Parser
  (Maybe MariaDbParameters
   -> Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe MariaDbParameters)
-> Parser
     (Maybe JiraParameters
      -> Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe MariaDbParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MariaDbParameters")
            Parser
  (Maybe JiraParameters
   -> Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe JiraParameters)
-> Parser
     (Maybe SnowflakeParameters
      -> Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe JiraParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"JiraParameters")
            Parser
  (Maybe SnowflakeParameters
   -> Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe SnowflakeParameters)
-> Parser
     (Maybe PrestoParameters
      -> Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SnowflakeParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SnowflakeParameters")
            Parser
  (Maybe PrestoParameters
   -> Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe PrestoParameters)
-> Parser
     (Maybe MySqlParameters
      -> Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe PrestoParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PrestoParameters")
            Parser
  (Maybe MySqlParameters
   -> Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe MySqlParameters)
-> Parser
     (Maybe AuroraPostgreSqlParameters
      -> Maybe SparkParameters
      -> Maybe ServiceNowParameters
      -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe MySqlParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MySqlParameters")
            Parser
  (Maybe AuroraPostgreSqlParameters
   -> Maybe SparkParameters
   -> Maybe ServiceNowParameters
   -> DataSourceParameters)
-> Parser (Maybe AuroraPostgreSqlParameters)
-> Parser
     (Maybe SparkParameters
      -> Maybe ServiceNowParameters -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AuroraPostgreSqlParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AuroraPostgreSqlParameters")
            Parser
  (Maybe SparkParameters
   -> Maybe ServiceNowParameters -> DataSourceParameters)
-> Parser (Maybe SparkParameters)
-> Parser (Maybe ServiceNowParameters -> DataSourceParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe SparkParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SparkParameters")
            Parser (Maybe ServiceNowParameters -> DataSourceParameters)
-> Parser (Maybe ServiceNowParameters)
-> Parser DataSourceParameters
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ServiceNowParameters)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ServiceNowParameters")
      )

instance Prelude.Hashable DataSourceParameters

instance Prelude.NFData DataSourceParameters

instance Core.ToJSON DataSourceParameters where
  toJSON :: DataSourceParameters -> Value
toJSON DataSourceParameters' {Maybe AmazonElasticsearchParameters
Maybe AmazonOpenSearchParameters
Maybe AthenaParameters
Maybe AuroraParameters
Maybe AuroraPostgreSqlParameters
Maybe AwsIotAnalyticsParameters
Maybe JiraParameters
Maybe MariaDbParameters
Maybe MySqlParameters
Maybe OracleParameters
Maybe PostgreSqlParameters
Maybe PrestoParameters
Maybe RdsParameters
Maybe RedshiftParameters
Maybe S3Parameters
Maybe ServiceNowParameters
Maybe SnowflakeParameters
Maybe SparkParameters
Maybe SqlServerParameters
Maybe TeradataParameters
Maybe TwitterParameters
serviceNowParameters :: Maybe ServiceNowParameters
sparkParameters :: Maybe SparkParameters
auroraPostgreSqlParameters :: Maybe AuroraPostgreSqlParameters
mySqlParameters :: Maybe MySqlParameters
prestoParameters :: Maybe PrestoParameters
snowflakeParameters :: Maybe SnowflakeParameters
jiraParameters :: Maybe JiraParameters
mariaDbParameters :: Maybe MariaDbParameters
twitterParameters :: Maybe TwitterParameters
amazonElasticsearchParameters :: Maybe AmazonElasticsearchParameters
oracleParameters :: Maybe OracleParameters
postgreSqlParameters :: Maybe PostgreSqlParameters
redshiftParameters :: Maybe RedshiftParameters
sqlServerParameters :: Maybe SqlServerParameters
amazonOpenSearchParameters :: Maybe AmazonOpenSearchParameters
awsIotAnalyticsParameters :: Maybe AwsIotAnalyticsParameters
auroraParameters :: Maybe AuroraParameters
teradataParameters :: Maybe TeradataParameters
athenaParameters :: Maybe AthenaParameters
s3Parameters :: Maybe S3Parameters
rdsParameters :: Maybe RdsParameters
$sel:serviceNowParameters:DataSourceParameters' :: DataSourceParameters -> Maybe ServiceNowParameters
$sel:sparkParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SparkParameters
$sel:auroraPostgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraPostgreSqlParameters
$sel:mySqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MySqlParameters
$sel:prestoParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PrestoParameters
$sel:snowflakeParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SnowflakeParameters
$sel:jiraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe JiraParameters
$sel:mariaDbParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MariaDbParameters
$sel:twitterParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TwitterParameters
$sel:amazonElasticsearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonElasticsearchParameters
$sel:oracleParameters:DataSourceParameters' :: DataSourceParameters -> Maybe OracleParameters
$sel:postgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PostgreSqlParameters
$sel:redshiftParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RedshiftParameters
$sel:sqlServerParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SqlServerParameters
$sel:amazonOpenSearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonOpenSearchParameters
$sel:awsIotAnalyticsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AwsIotAnalyticsParameters
$sel:auroraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraParameters
$sel:teradataParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TeradataParameters
$sel:athenaParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AthenaParameters
$sel:s3Parameters:DataSourceParameters' :: DataSourceParameters -> Maybe S3Parameters
$sel:rdsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RdsParameters
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"RdsParameters" Text -> RdsParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (RdsParameters -> Pair) -> Maybe RdsParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RdsParameters
rdsParameters,
            (Text
"S3Parameters" Text -> S3Parameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (S3Parameters -> Pair) -> Maybe S3Parameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3Parameters
s3Parameters,
            (Text
"AthenaParameters" Text -> AthenaParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AthenaParameters -> Pair) -> Maybe AthenaParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AthenaParameters
athenaParameters,
            (Text
"TeradataParameters" Text -> TeradataParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (TeradataParameters -> Pair)
-> Maybe TeradataParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TeradataParameters
teradataParameters,
            (Text
"AuroraParameters" Text -> AuroraParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AuroraParameters -> Pair) -> Maybe AuroraParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AuroraParameters
auroraParameters,
            (Text
"AwsIotAnalyticsParameters" Text -> AwsIotAnalyticsParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsIotAnalyticsParameters -> Pair)
-> Maybe AwsIotAnalyticsParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters,
            (Text
"AmazonOpenSearchParameters" Text -> AmazonOpenSearchParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AmazonOpenSearchParameters -> Pair)
-> Maybe AmazonOpenSearchParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters,
            (Text
"SqlServerParameters" Text -> SqlServerParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (SqlServerParameters -> Pair)
-> Maybe SqlServerParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SqlServerParameters
sqlServerParameters,
            (Text
"RedshiftParameters" Text -> RedshiftParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (RedshiftParameters -> Pair)
-> Maybe RedshiftParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RedshiftParameters
redshiftParameters,
            (Text
"PostgreSqlParameters" Text -> PostgreSqlParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (PostgreSqlParameters -> Pair)
-> Maybe PostgreSqlParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PostgreSqlParameters
postgreSqlParameters,
            (Text
"OracleParameters" Text -> OracleParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (OracleParameters -> Pair) -> Maybe OracleParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe OracleParameters
oracleParameters,
            (Text
"AmazonElasticsearchParameters" Text -> AmazonElasticsearchParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AmazonElasticsearchParameters -> Pair)
-> Maybe AmazonElasticsearchParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters,
            (Text
"TwitterParameters" Text -> TwitterParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (TwitterParameters -> Pair)
-> Maybe TwitterParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TwitterParameters
twitterParameters,
            (Text
"MariaDbParameters" Text -> MariaDbParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (MariaDbParameters -> Pair)
-> Maybe MariaDbParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MariaDbParameters
mariaDbParameters,
            (Text
"JiraParameters" Text -> JiraParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (JiraParameters -> Pair) -> Maybe JiraParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe JiraParameters
jiraParameters,
            (Text
"SnowflakeParameters" Text -> SnowflakeParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (SnowflakeParameters -> Pair)
-> Maybe SnowflakeParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SnowflakeParameters
snowflakeParameters,
            (Text
"PrestoParameters" Text -> PrestoParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (PrestoParameters -> Pair) -> Maybe PrestoParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PrestoParameters
prestoParameters,
            (Text
"MySqlParameters" Text -> MySqlParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (MySqlParameters -> Pair) -> Maybe MySqlParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MySqlParameters
mySqlParameters,
            (Text
"AuroraPostgreSqlParameters" Text -> AuroraPostgreSqlParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AuroraPostgreSqlParameters -> Pair)
-> Maybe AuroraPostgreSqlParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters,
            (Text
"SparkParameters" Text -> SparkParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (SparkParameters -> Pair) -> Maybe SparkParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SparkParameters
sparkParameters,
            (Text
"ServiceNowParameters" Text -> ServiceNowParameters -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (ServiceNowParameters -> Pair)
-> Maybe ServiceNowParameters -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ServiceNowParameters
serviceNowParameters
          ]
      )