{-# 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 #-}
module Amazonka.Firehose.Types.RedshiftDestinationConfiguration where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Firehose.Types.CloudWatchLoggingOptions
import Amazonka.Firehose.Types.CopyCommand
import Amazonka.Firehose.Types.ProcessingConfiguration
import Amazonka.Firehose.Types.RedshiftRetryOptions
import Amazonka.Firehose.Types.RedshiftS3BackupMode
import Amazonka.Firehose.Types.S3DestinationConfiguration
import qualified Amazonka.Prelude as Prelude
data RedshiftDestinationConfiguration = RedshiftDestinationConfiguration'
{
RedshiftDestinationConfiguration -> Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions :: Prelude.Maybe CloudWatchLoggingOptions,
RedshiftDestinationConfiguration -> Maybe ProcessingConfiguration
processingConfiguration :: Prelude.Maybe ProcessingConfiguration,
RedshiftDestinationConfiguration -> Maybe RedshiftRetryOptions
retryOptions :: Prelude.Maybe RedshiftRetryOptions,
RedshiftDestinationConfiguration
-> Maybe S3DestinationConfiguration
s3BackupConfiguration :: Prelude.Maybe S3DestinationConfiguration,
RedshiftDestinationConfiguration -> Maybe RedshiftS3BackupMode
s3BackupMode :: Prelude.Maybe RedshiftS3BackupMode,
RedshiftDestinationConfiguration -> Text
roleARN :: Prelude.Text,
RedshiftDestinationConfiguration -> Text
clusterJDBCURL :: Prelude.Text,
RedshiftDestinationConfiguration -> CopyCommand
copyCommand :: CopyCommand,
RedshiftDestinationConfiguration -> Sensitive Text
username :: Data.Sensitive Prelude.Text,
RedshiftDestinationConfiguration -> Sensitive Text
password :: Data.Sensitive Prelude.Text,
RedshiftDestinationConfiguration -> S3DestinationConfiguration
s3Configuration :: S3DestinationConfiguration
}
deriving (RedshiftDestinationConfiguration
-> RedshiftDestinationConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RedshiftDestinationConfiguration
-> RedshiftDestinationConfiguration -> Bool
$c/= :: RedshiftDestinationConfiguration
-> RedshiftDestinationConfiguration -> Bool
== :: RedshiftDestinationConfiguration
-> RedshiftDestinationConfiguration -> Bool
$c== :: RedshiftDestinationConfiguration
-> RedshiftDestinationConfiguration -> Bool
Prelude.Eq, Int -> RedshiftDestinationConfiguration -> ShowS
[RedshiftDestinationConfiguration] -> ShowS
RedshiftDestinationConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RedshiftDestinationConfiguration] -> ShowS
$cshowList :: [RedshiftDestinationConfiguration] -> ShowS
show :: RedshiftDestinationConfiguration -> String
$cshow :: RedshiftDestinationConfiguration -> String
showsPrec :: Int -> RedshiftDestinationConfiguration -> ShowS
$cshowsPrec :: Int -> RedshiftDestinationConfiguration -> ShowS
Prelude.Show, forall x.
Rep RedshiftDestinationConfiguration x
-> RedshiftDestinationConfiguration
forall x.
RedshiftDestinationConfiguration
-> Rep RedshiftDestinationConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RedshiftDestinationConfiguration x
-> RedshiftDestinationConfiguration
$cfrom :: forall x.
RedshiftDestinationConfiguration
-> Rep RedshiftDestinationConfiguration x
Prelude.Generic)
newRedshiftDestinationConfiguration ::
Prelude.Text ->
Prelude.Text ->
CopyCommand ->
Prelude.Text ->
Prelude.Text ->
S3DestinationConfiguration ->
RedshiftDestinationConfiguration
newRedshiftDestinationConfiguration :: Text
-> Text
-> CopyCommand
-> Text
-> Text
-> S3DestinationConfiguration
-> RedshiftDestinationConfiguration
newRedshiftDestinationConfiguration
Text
pRoleARN_
Text
pClusterJDBCURL_
CopyCommand
pCopyCommand_
Text
pUsername_
Text
pPassword_
S3DestinationConfiguration
pS3Configuration_ =
RedshiftDestinationConfiguration'
{ $sel:cloudWatchLoggingOptions:RedshiftDestinationConfiguration' :: Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions =
forall a. Maybe a
Prelude.Nothing,
$sel:processingConfiguration:RedshiftDestinationConfiguration' :: Maybe ProcessingConfiguration
processingConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:retryOptions:RedshiftDestinationConfiguration' :: Maybe RedshiftRetryOptions
retryOptions = forall a. Maybe a
Prelude.Nothing,
$sel:s3BackupConfiguration:RedshiftDestinationConfiguration' :: Maybe S3DestinationConfiguration
s3BackupConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:s3BackupMode:RedshiftDestinationConfiguration' :: Maybe RedshiftS3BackupMode
s3BackupMode = forall a. Maybe a
Prelude.Nothing,
$sel:roleARN:RedshiftDestinationConfiguration' :: Text
roleARN = Text
pRoleARN_,
$sel:clusterJDBCURL:RedshiftDestinationConfiguration' :: Text
clusterJDBCURL = Text
pClusterJDBCURL_,
$sel:copyCommand:RedshiftDestinationConfiguration' :: CopyCommand
copyCommand = CopyCommand
pCopyCommand_,
$sel:username:RedshiftDestinationConfiguration' :: Sensitive Text
username =
forall a. Iso' (Sensitive a) a
Data._Sensitive forall t b. AReview t b -> b -> t
Lens.# Text
pUsername_,
$sel:password:RedshiftDestinationConfiguration' :: Sensitive Text
password =
forall a. Iso' (Sensitive a) a
Data._Sensitive forall t b. AReview t b -> b -> t
Lens.# Text
pPassword_,
$sel:s3Configuration:RedshiftDestinationConfiguration' :: S3DestinationConfiguration
s3Configuration = S3DestinationConfiguration
pS3Configuration_
}
redshiftDestinationConfiguration_cloudWatchLoggingOptions :: Lens.Lens' RedshiftDestinationConfiguration (Prelude.Maybe CloudWatchLoggingOptions)
redshiftDestinationConfiguration_cloudWatchLoggingOptions :: Lens'
RedshiftDestinationConfiguration (Maybe CloudWatchLoggingOptions)
redshiftDestinationConfiguration_cloudWatchLoggingOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions :: Maybe CloudWatchLoggingOptions
$sel:cloudWatchLoggingOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions} -> Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Maybe CloudWatchLoggingOptions
a -> RedshiftDestinationConfiguration
s {$sel:cloudWatchLoggingOptions:RedshiftDestinationConfiguration' :: Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions = Maybe CloudWatchLoggingOptions
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_processingConfiguration :: Lens.Lens' RedshiftDestinationConfiguration (Prelude.Maybe ProcessingConfiguration)
redshiftDestinationConfiguration_processingConfiguration :: Lens'
RedshiftDestinationConfiguration (Maybe ProcessingConfiguration)
redshiftDestinationConfiguration_processingConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Maybe ProcessingConfiguration
processingConfiguration :: Maybe ProcessingConfiguration
$sel:processingConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe ProcessingConfiguration
processingConfiguration} -> Maybe ProcessingConfiguration
processingConfiguration) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Maybe ProcessingConfiguration
a -> RedshiftDestinationConfiguration
s {$sel:processingConfiguration:RedshiftDestinationConfiguration' :: Maybe ProcessingConfiguration
processingConfiguration = Maybe ProcessingConfiguration
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_retryOptions :: Lens.Lens' RedshiftDestinationConfiguration (Prelude.Maybe RedshiftRetryOptions)
redshiftDestinationConfiguration_retryOptions :: Lens' RedshiftDestinationConfiguration (Maybe RedshiftRetryOptions)
redshiftDestinationConfiguration_retryOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Maybe RedshiftRetryOptions
retryOptions :: Maybe RedshiftRetryOptions
$sel:retryOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftRetryOptions
retryOptions} -> Maybe RedshiftRetryOptions
retryOptions) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Maybe RedshiftRetryOptions
a -> RedshiftDestinationConfiguration
s {$sel:retryOptions:RedshiftDestinationConfiguration' :: Maybe RedshiftRetryOptions
retryOptions = Maybe RedshiftRetryOptions
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_s3BackupConfiguration :: Lens.Lens' RedshiftDestinationConfiguration (Prelude.Maybe S3DestinationConfiguration)
redshiftDestinationConfiguration_s3BackupConfiguration :: Lens'
RedshiftDestinationConfiguration (Maybe S3DestinationConfiguration)
redshiftDestinationConfiguration_s3BackupConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Maybe S3DestinationConfiguration
s3BackupConfiguration :: Maybe S3DestinationConfiguration
$sel:s3BackupConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration
-> Maybe S3DestinationConfiguration
s3BackupConfiguration} -> Maybe S3DestinationConfiguration
s3BackupConfiguration) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Maybe S3DestinationConfiguration
a -> RedshiftDestinationConfiguration
s {$sel:s3BackupConfiguration:RedshiftDestinationConfiguration' :: Maybe S3DestinationConfiguration
s3BackupConfiguration = Maybe S3DestinationConfiguration
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_s3BackupMode :: Lens.Lens' RedshiftDestinationConfiguration (Prelude.Maybe RedshiftS3BackupMode)
redshiftDestinationConfiguration_s3BackupMode :: Lens' RedshiftDestinationConfiguration (Maybe RedshiftS3BackupMode)
redshiftDestinationConfiguration_s3BackupMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Maybe RedshiftS3BackupMode
s3BackupMode :: Maybe RedshiftS3BackupMode
$sel:s3BackupMode:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftS3BackupMode
s3BackupMode} -> Maybe RedshiftS3BackupMode
s3BackupMode) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Maybe RedshiftS3BackupMode
a -> RedshiftDestinationConfiguration
s {$sel:s3BackupMode:RedshiftDestinationConfiguration' :: Maybe RedshiftS3BackupMode
s3BackupMode = Maybe RedshiftS3BackupMode
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_roleARN :: Lens.Lens' RedshiftDestinationConfiguration Prelude.Text
redshiftDestinationConfiguration_roleARN :: Lens' RedshiftDestinationConfiguration Text
redshiftDestinationConfiguration_roleARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Text
roleARN :: Text
$sel:roleARN:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
roleARN} -> Text
roleARN) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Text
a -> RedshiftDestinationConfiguration
s {$sel:roleARN:RedshiftDestinationConfiguration' :: Text
roleARN = Text
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_clusterJDBCURL :: Lens.Lens' RedshiftDestinationConfiguration Prelude.Text
redshiftDestinationConfiguration_clusterJDBCURL :: Lens' RedshiftDestinationConfiguration Text
redshiftDestinationConfiguration_clusterJDBCURL = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Text
clusterJDBCURL :: Text
$sel:clusterJDBCURL:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
clusterJDBCURL} -> Text
clusterJDBCURL) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Text
a -> RedshiftDestinationConfiguration
s {$sel:clusterJDBCURL:RedshiftDestinationConfiguration' :: Text
clusterJDBCURL = Text
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_copyCommand :: Lens.Lens' RedshiftDestinationConfiguration CopyCommand
redshiftDestinationConfiguration_copyCommand :: Lens' RedshiftDestinationConfiguration CopyCommand
redshiftDestinationConfiguration_copyCommand = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {CopyCommand
copyCommand :: CopyCommand
$sel:copyCommand:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> CopyCommand
copyCommand} -> CopyCommand
copyCommand) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} CopyCommand
a -> RedshiftDestinationConfiguration
s {$sel:copyCommand:RedshiftDestinationConfiguration' :: CopyCommand
copyCommand = CopyCommand
a} :: RedshiftDestinationConfiguration)
redshiftDestinationConfiguration_username :: Lens.Lens' RedshiftDestinationConfiguration Prelude.Text
redshiftDestinationConfiguration_username :: Lens' RedshiftDestinationConfiguration Text
redshiftDestinationConfiguration_username = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Sensitive Text
username :: Sensitive Text
$sel:username:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
username} -> Sensitive Text
username) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Sensitive Text
a -> RedshiftDestinationConfiguration
s {$sel:username:RedshiftDestinationConfiguration' :: Sensitive Text
username = Sensitive Text
a} :: RedshiftDestinationConfiguration) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive
redshiftDestinationConfiguration_password :: Lens.Lens' RedshiftDestinationConfiguration Prelude.Text
redshiftDestinationConfiguration_password :: Lens' RedshiftDestinationConfiguration Text
redshiftDestinationConfiguration_password = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {Sensitive Text
password :: Sensitive Text
$sel:password:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
password} -> Sensitive Text
password) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} Sensitive Text
a -> RedshiftDestinationConfiguration
s {$sel:password:RedshiftDestinationConfiguration' :: Sensitive Text
password = Sensitive Text
a} :: RedshiftDestinationConfiguration) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive
redshiftDestinationConfiguration_s3Configuration :: Lens.Lens' RedshiftDestinationConfiguration S3DestinationConfiguration
redshiftDestinationConfiguration_s3Configuration :: Lens' RedshiftDestinationConfiguration S3DestinationConfiguration
redshiftDestinationConfiguration_s3Configuration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RedshiftDestinationConfiguration' {S3DestinationConfiguration
s3Configuration :: S3DestinationConfiguration
$sel:s3Configuration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> S3DestinationConfiguration
s3Configuration} -> S3DestinationConfiguration
s3Configuration) (\s :: RedshiftDestinationConfiguration
s@RedshiftDestinationConfiguration' {} S3DestinationConfiguration
a -> RedshiftDestinationConfiguration
s {$sel:s3Configuration:RedshiftDestinationConfiguration' :: S3DestinationConfiguration
s3Configuration = S3DestinationConfiguration
a} :: RedshiftDestinationConfiguration)
instance
Prelude.Hashable
RedshiftDestinationConfiguration
where
hashWithSalt :: Int -> RedshiftDestinationConfiguration -> Int
hashWithSalt
Int
_salt
RedshiftDestinationConfiguration' {Maybe CloudWatchLoggingOptions
Maybe ProcessingConfiguration
Maybe RedshiftRetryOptions
Maybe RedshiftS3BackupMode
Maybe S3DestinationConfiguration
Text
Sensitive Text
CopyCommand
S3DestinationConfiguration
s3Configuration :: S3DestinationConfiguration
password :: Sensitive Text
username :: Sensitive Text
copyCommand :: CopyCommand
clusterJDBCURL :: Text
roleARN :: Text
s3BackupMode :: Maybe RedshiftS3BackupMode
s3BackupConfiguration :: Maybe S3DestinationConfiguration
retryOptions :: Maybe RedshiftRetryOptions
processingConfiguration :: Maybe ProcessingConfiguration
cloudWatchLoggingOptions :: Maybe CloudWatchLoggingOptions
$sel:s3Configuration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> S3DestinationConfiguration
$sel:password:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
$sel:username:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
$sel:copyCommand:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> CopyCommand
$sel:clusterJDBCURL:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
$sel:roleARN:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
$sel:s3BackupMode:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftS3BackupMode
$sel:s3BackupConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration
-> Maybe S3DestinationConfiguration
$sel:retryOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftRetryOptions
$sel:processingConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe ProcessingConfiguration
$sel:cloudWatchLoggingOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe CloudWatchLoggingOptions
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ProcessingConfiguration
processingConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RedshiftRetryOptions
retryOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe S3DestinationConfiguration
s3BackupConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RedshiftS3BackupMode
s3BackupMode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
clusterJDBCURL
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` CopyCommand
copyCommand
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Sensitive Text
username
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Sensitive Text
password
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` S3DestinationConfiguration
s3Configuration
instance
Prelude.NFData
RedshiftDestinationConfiguration
where
rnf :: RedshiftDestinationConfiguration -> ()
rnf RedshiftDestinationConfiguration' {Maybe CloudWatchLoggingOptions
Maybe ProcessingConfiguration
Maybe RedshiftRetryOptions
Maybe RedshiftS3BackupMode
Maybe S3DestinationConfiguration
Text
Sensitive Text
CopyCommand
S3DestinationConfiguration
s3Configuration :: S3DestinationConfiguration
password :: Sensitive Text
username :: Sensitive Text
copyCommand :: CopyCommand
clusterJDBCURL :: Text
roleARN :: Text
s3BackupMode :: Maybe RedshiftS3BackupMode
s3BackupConfiguration :: Maybe S3DestinationConfiguration
retryOptions :: Maybe RedshiftRetryOptions
processingConfiguration :: Maybe ProcessingConfiguration
cloudWatchLoggingOptions :: Maybe CloudWatchLoggingOptions
$sel:s3Configuration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> S3DestinationConfiguration
$sel:password:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
$sel:username:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
$sel:copyCommand:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> CopyCommand
$sel:clusterJDBCURL:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
$sel:roleARN:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
$sel:s3BackupMode:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftS3BackupMode
$sel:s3BackupConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration
-> Maybe S3DestinationConfiguration
$sel:retryOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftRetryOptions
$sel:processingConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe ProcessingConfiguration
$sel:cloudWatchLoggingOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe CloudWatchLoggingOptions
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CloudWatchLoggingOptions
cloudWatchLoggingOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ProcessingConfiguration
processingConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RedshiftRetryOptions
retryOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe S3DestinationConfiguration
s3BackupConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RedshiftS3BackupMode
s3BackupMode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
roleARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
clusterJDBCURL
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf CopyCommand
copyCommand
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Sensitive Text
username
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Sensitive Text
password
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf S3DestinationConfiguration
s3Configuration
instance Data.ToJSON RedshiftDestinationConfiguration where
toJSON :: RedshiftDestinationConfiguration -> Value
toJSON RedshiftDestinationConfiguration' {Maybe CloudWatchLoggingOptions
Maybe ProcessingConfiguration
Maybe RedshiftRetryOptions
Maybe RedshiftS3BackupMode
Maybe S3DestinationConfiguration
Text
Sensitive Text
CopyCommand
S3DestinationConfiguration
s3Configuration :: S3DestinationConfiguration
password :: Sensitive Text
username :: Sensitive Text
copyCommand :: CopyCommand
clusterJDBCURL :: Text
roleARN :: Text
s3BackupMode :: Maybe RedshiftS3BackupMode
s3BackupConfiguration :: Maybe S3DestinationConfiguration
retryOptions :: Maybe RedshiftRetryOptions
processingConfiguration :: Maybe ProcessingConfiguration
cloudWatchLoggingOptions :: Maybe CloudWatchLoggingOptions
$sel:s3Configuration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> S3DestinationConfiguration
$sel:password:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
$sel:username:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Sensitive Text
$sel:copyCommand:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> CopyCommand
$sel:clusterJDBCURL:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
$sel:roleARN:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Text
$sel:s3BackupMode:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftS3BackupMode
$sel:s3BackupConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration
-> Maybe S3DestinationConfiguration
$sel:retryOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe RedshiftRetryOptions
$sel:processingConfiguration:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe ProcessingConfiguration
$sel:cloudWatchLoggingOptions:RedshiftDestinationConfiguration' :: RedshiftDestinationConfiguration -> Maybe CloudWatchLoggingOptions
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"CloudWatchLoggingOptions" 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 CloudWatchLoggingOptions
cloudWatchLoggingOptions,
(Key
"ProcessingConfiguration" 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 ProcessingConfiguration
processingConfiguration,
(Key
"RetryOptions" 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 RedshiftRetryOptions
retryOptions,
(Key
"S3BackupConfiguration" 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 S3DestinationConfiguration
s3BackupConfiguration,
(Key
"S3BackupMode" 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 RedshiftS3BackupMode
s3BackupMode,
forall a. a -> Maybe a
Prelude.Just (Key
"RoleARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
roleARN),
forall a. a -> Maybe a
Prelude.Just
(Key
"ClusterJDBCURL" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
clusterJDBCURL),
forall a. a -> Maybe a
Prelude.Just (Key
"CopyCommand" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= CopyCommand
copyCommand),
forall a. a -> Maybe a
Prelude.Just (Key
"Username" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive Text
username),
forall a. a -> Maybe a
Prelude.Just (Key
"Password" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive Text
password),
forall a. a -> Maybe a
Prelude.Just
(Key
"S3Configuration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= S3DestinationConfiguration
s3Configuration)
]
)