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

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
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.DatabricksParameters
import Amazonka.QuickSight.Types.ExasolParameters
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 OpenSearch.
    DataSourceParameters -> Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters :: Prelude.Maybe AmazonElasticsearchParameters,
    -- | The parameters for OpenSearch.
    DataSourceParameters -> Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters :: Prelude.Maybe AmazonOpenSearchParameters,
    -- | The parameters for Amazon Athena.
    DataSourceParameters -> Maybe AthenaParameters
athenaParameters :: Prelude.Maybe AthenaParameters,
    -- | The parameters for Amazon Aurora MySQL.
    DataSourceParameters -> Maybe AuroraParameters
auroraParameters :: Prelude.Maybe AuroraParameters,
    -- | The parameters for Amazon Aurora.
    DataSourceParameters -> Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters :: Prelude.Maybe AuroraPostgreSqlParameters,
    -- | The parameters for IoT Analytics.
    DataSourceParameters -> Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters :: Prelude.Maybe AwsIotAnalyticsParameters,
    -- | The required parameters that are needed to connect to a Databricks data
    -- source.
    DataSourceParameters -> Maybe DatabricksParameters
databricksParameters :: Prelude.Maybe DatabricksParameters,
    -- | The parameters for Exasol.
    DataSourceParameters -> Maybe ExasolParameters
exasolParameters :: Prelude.Maybe ExasolParameters,
    -- | The parameters for Jira.
    DataSourceParameters -> Maybe JiraParameters
jiraParameters :: Prelude.Maybe JiraParameters,
    -- | The parameters for MariaDB.
    DataSourceParameters -> Maybe MariaDbParameters
mariaDbParameters :: Prelude.Maybe MariaDbParameters,
    -- | The parameters for MySQL.
    DataSourceParameters -> Maybe MySqlParameters
mySqlParameters :: Prelude.Maybe MySqlParameters,
    -- | The parameters for Oracle.
    DataSourceParameters -> Maybe OracleParameters
oracleParameters :: Prelude.Maybe OracleParameters,
    -- | The parameters for PostgreSQL.
    DataSourceParameters -> Maybe PostgreSqlParameters
postgreSqlParameters :: Prelude.Maybe PostgreSqlParameters,
    -- | The parameters for Presto.
    DataSourceParameters -> Maybe PrestoParameters
prestoParameters :: Prelude.Maybe PrestoParameters,
    -- | The parameters for Amazon RDS.
    DataSourceParameters -> Maybe RdsParameters
rdsParameters :: Prelude.Maybe RdsParameters,
    -- | The parameters for Amazon Redshift.
    DataSourceParameters -> Maybe RedshiftParameters
redshiftParameters :: Prelude.Maybe RedshiftParameters,
    -- | The parameters for S3.
    DataSourceParameters -> Maybe S3Parameters
s3Parameters :: Prelude.Maybe S3Parameters,
    -- | The parameters for ServiceNow.
    DataSourceParameters -> Maybe ServiceNowParameters
serviceNowParameters :: Prelude.Maybe ServiceNowParameters,
    -- | The parameters for Snowflake.
    DataSourceParameters -> Maybe SnowflakeParameters
snowflakeParameters :: Prelude.Maybe SnowflakeParameters,
    -- | The parameters for Spark.
    DataSourceParameters -> Maybe SparkParameters
sparkParameters :: Prelude.Maybe SparkParameters,
    -- | The parameters for SQL Server.
    DataSourceParameters -> Maybe SqlServerParameters
sqlServerParameters :: Prelude.Maybe SqlServerParameters,
    -- | The parameters for Teradata.
    DataSourceParameters -> Maybe TeradataParameters
teradataParameters :: Prelude.Maybe TeradataParameters,
    -- | The parameters for Twitter.
    DataSourceParameters -> Maybe TwitterParameters
twitterParameters :: Prelude.Maybe TwitterParameters
  }
  deriving (DataSourceParameters -> DataSourceParameters -> Bool
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]
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
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. 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:
--
-- 'amazonElasticsearchParameters', 'dataSourceParameters_amazonElasticsearchParameters' - The parameters for OpenSearch.
--
-- 'amazonOpenSearchParameters', 'dataSourceParameters_amazonOpenSearchParameters' - The parameters for OpenSearch.
--
-- 'athenaParameters', 'dataSourceParameters_athenaParameters' - The parameters for Amazon Athena.
--
-- 'auroraParameters', 'dataSourceParameters_auroraParameters' - The parameters for Amazon Aurora MySQL.
--
-- 'auroraPostgreSqlParameters', 'dataSourceParameters_auroraPostgreSqlParameters' - The parameters for Amazon Aurora.
--
-- 'awsIotAnalyticsParameters', 'dataSourceParameters_awsIotAnalyticsParameters' - The parameters for IoT Analytics.
--
-- 'databricksParameters', 'dataSourceParameters_databricksParameters' - The required parameters that are needed to connect to a Databricks data
-- source.
--
-- 'exasolParameters', 'dataSourceParameters_exasolParameters' - The parameters for Exasol.
--
-- 'jiraParameters', 'dataSourceParameters_jiraParameters' - The parameters for Jira.
--
-- 'mariaDbParameters', 'dataSourceParameters_mariaDbParameters' - The parameters for MariaDB.
--
-- 'mySqlParameters', 'dataSourceParameters_mySqlParameters' - The parameters for MySQL.
--
-- 'oracleParameters', 'dataSourceParameters_oracleParameters' - The parameters for Oracle.
--
-- 'postgreSqlParameters', 'dataSourceParameters_postgreSqlParameters' - The parameters for PostgreSQL.
--
-- 'prestoParameters', 'dataSourceParameters_prestoParameters' - The parameters for Presto.
--
-- 'rdsParameters', 'dataSourceParameters_rdsParameters' - The parameters for Amazon RDS.
--
-- 'redshiftParameters', 'dataSourceParameters_redshiftParameters' - The parameters for Amazon Redshift.
--
-- 's3Parameters', 'dataSourceParameters_s3Parameters' - The parameters for S3.
--
-- 'serviceNowParameters', 'dataSourceParameters_serviceNowParameters' - The parameters for ServiceNow.
--
-- 'snowflakeParameters', 'dataSourceParameters_snowflakeParameters' - The parameters for Snowflake.
--
-- 'sparkParameters', 'dataSourceParameters_sparkParameters' - The parameters for Spark.
--
-- 'sqlServerParameters', 'dataSourceParameters_sqlServerParameters' - The parameters for SQL Server.
--
-- 'teradataParameters', 'dataSourceParameters_teradataParameters' - The parameters for Teradata.
--
-- 'twitterParameters', 'dataSourceParameters_twitterParameters' - The parameters for Twitter.
newDataSourceParameters ::
  DataSourceParameters
newDataSourceParameters :: DataSourceParameters
newDataSourceParameters =
  DataSourceParameters'
    { $sel:amazonElasticsearchParameters:DataSourceParameters' :: Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters =
        forall a. Maybe a
Prelude.Nothing,
      $sel:amazonOpenSearchParameters:DataSourceParameters' :: Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:athenaParameters:DataSourceParameters' :: Maybe AthenaParameters
athenaParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:auroraParameters:DataSourceParameters' :: Maybe AuroraParameters
auroraParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:auroraPostgreSqlParameters:DataSourceParameters' :: Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:awsIotAnalyticsParameters:DataSourceParameters' :: Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:databricksParameters:DataSourceParameters' :: Maybe DatabricksParameters
databricksParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:exasolParameters:DataSourceParameters' :: Maybe ExasolParameters
exasolParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:jiraParameters:DataSourceParameters' :: Maybe JiraParameters
jiraParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:mariaDbParameters:DataSourceParameters' :: Maybe MariaDbParameters
mariaDbParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:mySqlParameters:DataSourceParameters' :: Maybe MySqlParameters
mySqlParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:oracleParameters:DataSourceParameters' :: Maybe OracleParameters
oracleParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:postgreSqlParameters:DataSourceParameters' :: Maybe PostgreSqlParameters
postgreSqlParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:prestoParameters:DataSourceParameters' :: Maybe PrestoParameters
prestoParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:rdsParameters:DataSourceParameters' :: Maybe RdsParameters
rdsParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:redshiftParameters:DataSourceParameters' :: Maybe RedshiftParameters
redshiftParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:s3Parameters:DataSourceParameters' :: Maybe S3Parameters
s3Parameters = forall a. Maybe a
Prelude.Nothing,
      $sel:serviceNowParameters:DataSourceParameters' :: Maybe ServiceNowParameters
serviceNowParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:snowflakeParameters:DataSourceParameters' :: Maybe SnowflakeParameters
snowflakeParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:sparkParameters:DataSourceParameters' :: Maybe SparkParameters
sparkParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:sqlServerParameters:DataSourceParameters' :: Maybe SqlServerParameters
sqlServerParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:teradataParameters:DataSourceParameters' :: Maybe TeradataParameters
teradataParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:twitterParameters:DataSourceParameters' :: Maybe TwitterParameters
twitterParameters = forall a. Maybe a
Prelude.Nothing
    }

-- | The parameters for OpenSearch.
dataSourceParameters_amazonElasticsearchParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AmazonElasticsearchParameters)
dataSourceParameters_amazonElasticsearchParameters :: Lens' DataSourceParameters (Maybe AmazonElasticsearchParameters)
dataSourceParameters_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 OpenSearch.
dataSourceParameters_amazonOpenSearchParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AmazonOpenSearchParameters)
dataSourceParameters_amazonOpenSearchParameters :: Lens' DataSourceParameters (Maybe AmazonOpenSearchParameters)
dataSourceParameters_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 Amazon Athena.
dataSourceParameters_athenaParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AthenaParameters)
dataSourceParameters_athenaParameters :: Lens' DataSourceParameters (Maybe AthenaParameters)
dataSourceParameters_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 Amazon Aurora MySQL.
dataSourceParameters_auroraParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AuroraParameters)
dataSourceParameters_auroraParameters :: Lens' DataSourceParameters (Maybe AuroraParameters)
dataSourceParameters_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 Amazon Aurora.
dataSourceParameters_auroraPostgreSqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AuroraPostgreSqlParameters)
dataSourceParameters_auroraPostgreSqlParameters :: Lens' DataSourceParameters (Maybe AuroraPostgreSqlParameters)
dataSourceParameters_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 IoT Analytics.
dataSourceParameters_awsIotAnalyticsParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe AwsIotAnalyticsParameters)
dataSourceParameters_awsIotAnalyticsParameters :: Lens' DataSourceParameters (Maybe AwsIotAnalyticsParameters)
dataSourceParameters_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)

-- | The required parameters that are needed to connect to a Databricks data
-- source.
dataSourceParameters_databricksParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe DatabricksParameters)
dataSourceParameters_databricksParameters :: Lens' DataSourceParameters (Maybe DatabricksParameters)
dataSourceParameters_databricksParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe DatabricksParameters
databricksParameters :: Maybe DatabricksParameters
$sel:databricksParameters:DataSourceParameters' :: DataSourceParameters -> Maybe DatabricksParameters
databricksParameters} -> Maybe DatabricksParameters
databricksParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe DatabricksParameters
a -> DataSourceParameters
s {$sel:databricksParameters:DataSourceParameters' :: Maybe DatabricksParameters
databricksParameters = Maybe DatabricksParameters
a} :: DataSourceParameters)

-- | The parameters for Exasol.
dataSourceParameters_exasolParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe ExasolParameters)
dataSourceParameters_exasolParameters :: Lens' DataSourceParameters (Maybe ExasolParameters)
dataSourceParameters_exasolParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DataSourceParameters' {Maybe ExasolParameters
exasolParameters :: Maybe ExasolParameters
$sel:exasolParameters:DataSourceParameters' :: DataSourceParameters -> Maybe ExasolParameters
exasolParameters} -> Maybe ExasolParameters
exasolParameters) (\s :: DataSourceParameters
s@DataSourceParameters' {} Maybe ExasolParameters
a -> DataSourceParameters
s {$sel:exasolParameters:DataSourceParameters' :: Maybe ExasolParameters
exasolParameters = Maybe ExasolParameters
a} :: DataSourceParameters)

-- | The parameters for Jira.
dataSourceParameters_jiraParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe JiraParameters)
dataSourceParameters_jiraParameters :: Lens' DataSourceParameters (Maybe JiraParameters)
dataSourceParameters_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 MariaDB.
dataSourceParameters_mariaDbParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe MariaDbParameters)
dataSourceParameters_mariaDbParameters :: Lens' DataSourceParameters (Maybe MariaDbParameters)
dataSourceParameters_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 MySQL.
dataSourceParameters_mySqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe MySqlParameters)
dataSourceParameters_mySqlParameters :: Lens' DataSourceParameters (Maybe MySqlParameters)
dataSourceParameters_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 Oracle.
dataSourceParameters_oracleParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe OracleParameters)
dataSourceParameters_oracleParameters :: Lens' DataSourceParameters (Maybe OracleParameters)
dataSourceParameters_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 PostgreSQL.
dataSourceParameters_postgreSqlParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe PostgreSqlParameters)
dataSourceParameters_postgreSqlParameters :: Lens' DataSourceParameters (Maybe PostgreSqlParameters)
dataSourceParameters_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 Presto.
dataSourceParameters_prestoParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe PrestoParameters)
dataSourceParameters_prestoParameters :: Lens' DataSourceParameters (Maybe PrestoParameters)
dataSourceParameters_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 Amazon RDS.
dataSourceParameters_rdsParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe RdsParameters)
dataSourceParameters_rdsParameters :: Lens' DataSourceParameters (Maybe RdsParameters)
dataSourceParameters_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 Amazon Redshift.
dataSourceParameters_redshiftParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe RedshiftParameters)
dataSourceParameters_redshiftParameters :: Lens' DataSourceParameters (Maybe RedshiftParameters)
dataSourceParameters_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 S3.
dataSourceParameters_s3Parameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe S3Parameters)
dataSourceParameters_s3Parameters :: Lens' DataSourceParameters (Maybe S3Parameters)
dataSourceParameters_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 ServiceNow.
dataSourceParameters_serviceNowParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe ServiceNowParameters)
dataSourceParameters_serviceNowParameters :: Lens' DataSourceParameters (Maybe ServiceNowParameters)
dataSourceParameters_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)

-- | The parameters for Snowflake.
dataSourceParameters_snowflakeParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SnowflakeParameters)
dataSourceParameters_snowflakeParameters :: Lens' DataSourceParameters (Maybe SnowflakeParameters)
dataSourceParameters_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 Spark.
dataSourceParameters_sparkParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SparkParameters)
dataSourceParameters_sparkParameters :: Lens' DataSourceParameters (Maybe SparkParameters)
dataSourceParameters_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 SQL Server.
dataSourceParameters_sqlServerParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe SqlServerParameters)
dataSourceParameters_sqlServerParameters :: Lens' DataSourceParameters (Maybe SqlServerParameters)
dataSourceParameters_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 Teradata.
dataSourceParameters_teradataParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe TeradataParameters)
dataSourceParameters_teradataParameters :: Lens' DataSourceParameters (Maybe TeradataParameters)
dataSourceParameters_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 Twitter.
dataSourceParameters_twitterParameters :: Lens.Lens' DataSourceParameters (Prelude.Maybe TwitterParameters)
dataSourceParameters_twitterParameters :: Lens' DataSourceParameters (Maybe TwitterParameters)
dataSourceParameters_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)

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

instance Prelude.Hashable DataSourceParameters where
  hashWithSalt :: Int -> DataSourceParameters -> Int
hashWithSalt Int
_salt DataSourceParameters' {Maybe AmazonElasticsearchParameters
Maybe AmazonOpenSearchParameters
Maybe AthenaParameters
Maybe AuroraParameters
Maybe AuroraPostgreSqlParameters
Maybe AwsIotAnalyticsParameters
Maybe DatabricksParameters
Maybe ExasolParameters
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
twitterParameters :: Maybe TwitterParameters
teradataParameters :: Maybe TeradataParameters
sqlServerParameters :: Maybe SqlServerParameters
sparkParameters :: Maybe SparkParameters
snowflakeParameters :: Maybe SnowflakeParameters
serviceNowParameters :: Maybe ServiceNowParameters
s3Parameters :: Maybe S3Parameters
redshiftParameters :: Maybe RedshiftParameters
rdsParameters :: Maybe RdsParameters
prestoParameters :: Maybe PrestoParameters
postgreSqlParameters :: Maybe PostgreSqlParameters
oracleParameters :: Maybe OracleParameters
mySqlParameters :: Maybe MySqlParameters
mariaDbParameters :: Maybe MariaDbParameters
jiraParameters :: Maybe JiraParameters
exasolParameters :: Maybe ExasolParameters
databricksParameters :: Maybe DatabricksParameters
awsIotAnalyticsParameters :: Maybe AwsIotAnalyticsParameters
auroraPostgreSqlParameters :: Maybe AuroraPostgreSqlParameters
auroraParameters :: Maybe AuroraParameters
athenaParameters :: Maybe AthenaParameters
amazonOpenSearchParameters :: Maybe AmazonOpenSearchParameters
amazonElasticsearchParameters :: Maybe AmazonElasticsearchParameters
$sel:twitterParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TwitterParameters
$sel:teradataParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TeradataParameters
$sel:sqlServerParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SqlServerParameters
$sel:sparkParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SparkParameters
$sel:snowflakeParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SnowflakeParameters
$sel:serviceNowParameters:DataSourceParameters' :: DataSourceParameters -> Maybe ServiceNowParameters
$sel:s3Parameters:DataSourceParameters' :: DataSourceParameters -> Maybe S3Parameters
$sel:redshiftParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RedshiftParameters
$sel:rdsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RdsParameters
$sel:prestoParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PrestoParameters
$sel:postgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PostgreSqlParameters
$sel:oracleParameters:DataSourceParameters' :: DataSourceParameters -> Maybe OracleParameters
$sel:mySqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MySqlParameters
$sel:mariaDbParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MariaDbParameters
$sel:jiraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe JiraParameters
$sel:exasolParameters:DataSourceParameters' :: DataSourceParameters -> Maybe ExasolParameters
$sel:databricksParameters:DataSourceParameters' :: DataSourceParameters -> Maybe DatabricksParameters
$sel:awsIotAnalyticsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AwsIotAnalyticsParameters
$sel:auroraPostgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraPostgreSqlParameters
$sel:auroraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraParameters
$sel:athenaParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AthenaParameters
$sel:amazonOpenSearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonOpenSearchParameters
$sel:amazonElasticsearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonElasticsearchParameters
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AthenaParameters
athenaParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AuroraParameters
auroraParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DatabricksParameters
databricksParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ExasolParameters
exasolParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe JiraParameters
jiraParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MariaDbParameters
mariaDbParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MySqlParameters
mySqlParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OracleParameters
oracleParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PostgreSqlParameters
postgreSqlParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PrestoParameters
prestoParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RdsParameters
rdsParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RedshiftParameters
redshiftParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe S3Parameters
s3Parameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServiceNowParameters
serviceNowParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SnowflakeParameters
snowflakeParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SparkParameters
sparkParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SqlServerParameters
sqlServerParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TeradataParameters
teradataParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TwitterParameters
twitterParameters

instance Prelude.NFData DataSourceParameters where
  rnf :: DataSourceParameters -> ()
rnf DataSourceParameters' {Maybe AmazonElasticsearchParameters
Maybe AmazonOpenSearchParameters
Maybe AthenaParameters
Maybe AuroraParameters
Maybe AuroraPostgreSqlParameters
Maybe AwsIotAnalyticsParameters
Maybe DatabricksParameters
Maybe ExasolParameters
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
twitterParameters :: Maybe TwitterParameters
teradataParameters :: Maybe TeradataParameters
sqlServerParameters :: Maybe SqlServerParameters
sparkParameters :: Maybe SparkParameters
snowflakeParameters :: Maybe SnowflakeParameters
serviceNowParameters :: Maybe ServiceNowParameters
s3Parameters :: Maybe S3Parameters
redshiftParameters :: Maybe RedshiftParameters
rdsParameters :: Maybe RdsParameters
prestoParameters :: Maybe PrestoParameters
postgreSqlParameters :: Maybe PostgreSqlParameters
oracleParameters :: Maybe OracleParameters
mySqlParameters :: Maybe MySqlParameters
mariaDbParameters :: Maybe MariaDbParameters
jiraParameters :: Maybe JiraParameters
exasolParameters :: Maybe ExasolParameters
databricksParameters :: Maybe DatabricksParameters
awsIotAnalyticsParameters :: Maybe AwsIotAnalyticsParameters
auroraPostgreSqlParameters :: Maybe AuroraPostgreSqlParameters
auroraParameters :: Maybe AuroraParameters
athenaParameters :: Maybe AthenaParameters
amazonOpenSearchParameters :: Maybe AmazonOpenSearchParameters
amazonElasticsearchParameters :: Maybe AmazonElasticsearchParameters
$sel:twitterParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TwitterParameters
$sel:teradataParameters:DataSourceParameters' :: DataSourceParameters -> Maybe TeradataParameters
$sel:sqlServerParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SqlServerParameters
$sel:sparkParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SparkParameters
$sel:snowflakeParameters:DataSourceParameters' :: DataSourceParameters -> Maybe SnowflakeParameters
$sel:serviceNowParameters:DataSourceParameters' :: DataSourceParameters -> Maybe ServiceNowParameters
$sel:s3Parameters:DataSourceParameters' :: DataSourceParameters -> Maybe S3Parameters
$sel:redshiftParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RedshiftParameters
$sel:rdsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe RdsParameters
$sel:prestoParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PrestoParameters
$sel:postgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe PostgreSqlParameters
$sel:oracleParameters:DataSourceParameters' :: DataSourceParameters -> Maybe OracleParameters
$sel:mySqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MySqlParameters
$sel:mariaDbParameters:DataSourceParameters' :: DataSourceParameters -> Maybe MariaDbParameters
$sel:jiraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe JiraParameters
$sel:exasolParameters:DataSourceParameters' :: DataSourceParameters -> Maybe ExasolParameters
$sel:databricksParameters:DataSourceParameters' :: DataSourceParameters -> Maybe DatabricksParameters
$sel:awsIotAnalyticsParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AwsIotAnalyticsParameters
$sel:auroraPostgreSqlParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraPostgreSqlParameters
$sel:auroraParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AuroraParameters
$sel:athenaParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AthenaParameters
$sel:amazonOpenSearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonOpenSearchParameters
$sel:amazonElasticsearchParameters:DataSourceParameters' :: DataSourceParameters -> Maybe AmazonElasticsearchParameters
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe AmazonElasticsearchParameters
amazonElasticsearchParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AmazonOpenSearchParameters
amazonOpenSearchParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AthenaParameters
athenaParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AuroraParameters
auroraParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AuroraPostgreSqlParameters
auroraPostgreSqlParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AwsIotAnalyticsParameters
awsIotAnalyticsParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DatabricksParameters
databricksParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ExasolParameters
exasolParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe JiraParameters
jiraParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MariaDbParameters
mariaDbParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MySqlParameters
mySqlParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OracleParameters
oracleParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PostgreSqlParameters
postgreSqlParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PrestoParameters
prestoParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RdsParameters
rdsParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RedshiftParameters
redshiftParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe S3Parameters
s3Parameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ServiceNowParameters
serviceNowParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SnowflakeParameters
snowflakeParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SparkParameters
sparkParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe SqlServerParameters
sqlServerParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe TeradataParameters
teradataParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe TwitterParameters
twitterParameters

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