module Stratosphere.ResourceProperties.KinesisFirehoseRedshiftDestinationConfiguration where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
import Stratosphere.ResourceProperties.KinesisFirehoseCloudWatchLoggingOptions
import Stratosphere.ResourceProperties.KinesisFirehoseRedshiftCopyCommand
import Stratosphere.ResourceProperties.KinesisFirehoseS3DestinationConfiguration
data KinesisFirehoseRedshiftDestinationConfiguration =
KinesisFirehoseRedshiftDestinationConfiguration
{ _kinesisFirehoseRedshiftDestinationConfigurationCloudWatchLoggingOptions :: Maybe KinesisFirehoseCloudWatchLoggingOptions
, _kinesisFirehoseRedshiftDestinationConfigurationClusterJDBCURL :: Val Text
, _kinesisFirehoseRedshiftDestinationConfigurationCopyCommand :: KinesisFirehoseRedshiftCopyCommand
, _kinesisFirehoseRedshiftDestinationConfigurationPassword :: Val Text
, _kinesisFirehoseRedshiftDestinationConfigurationRoleARN :: Val Text
, _kinesisFirehoseRedshiftDestinationConfigurationS3Configuration :: KinesisFirehoseS3DestinationConfiguration
, _kinesisFirehoseRedshiftDestinationConfigurationUsername :: Val Text
} deriving (Show, Generic)
instance ToJSON KinesisFirehoseRedshiftDestinationConfiguration where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 48, omitNothingFields = True }
instance FromJSON KinesisFirehoseRedshiftDestinationConfiguration where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 48, omitNothingFields = True }
kinesisFirehoseRedshiftDestinationConfiguration
:: Val Text
-> KinesisFirehoseRedshiftCopyCommand
-> Val Text
-> Val Text
-> KinesisFirehoseS3DestinationConfiguration
-> Val Text
-> KinesisFirehoseRedshiftDestinationConfiguration
kinesisFirehoseRedshiftDestinationConfiguration clusterJDBCURLarg copyCommandarg passwordarg roleARNarg s3Configurationarg usernamearg =
KinesisFirehoseRedshiftDestinationConfiguration
{ _kinesisFirehoseRedshiftDestinationConfigurationCloudWatchLoggingOptions = Nothing
, _kinesisFirehoseRedshiftDestinationConfigurationClusterJDBCURL = clusterJDBCURLarg
, _kinesisFirehoseRedshiftDestinationConfigurationCopyCommand = copyCommandarg
, _kinesisFirehoseRedshiftDestinationConfigurationPassword = passwordarg
, _kinesisFirehoseRedshiftDestinationConfigurationRoleARN = roleARNarg
, _kinesisFirehoseRedshiftDestinationConfigurationS3Configuration = s3Configurationarg
, _kinesisFirehoseRedshiftDestinationConfigurationUsername = usernamearg
}
kfrdcCloudWatchLoggingOptions :: Lens' KinesisFirehoseRedshiftDestinationConfiguration (Maybe KinesisFirehoseCloudWatchLoggingOptions)
kfrdcCloudWatchLoggingOptions = lens _kinesisFirehoseRedshiftDestinationConfigurationCloudWatchLoggingOptions (\s a -> s { _kinesisFirehoseRedshiftDestinationConfigurationCloudWatchLoggingOptions = a })
kfrdcClusterJDBCURL :: Lens' KinesisFirehoseRedshiftDestinationConfiguration (Val Text)
kfrdcClusterJDBCURL = lens _kinesisFirehoseRedshiftDestinationConfigurationClusterJDBCURL (\s a -> s { _kinesisFirehoseRedshiftDestinationConfigurationClusterJDBCURL = a })
kfrdcCopyCommand :: Lens' KinesisFirehoseRedshiftDestinationConfiguration KinesisFirehoseRedshiftCopyCommand
kfrdcCopyCommand = lens _kinesisFirehoseRedshiftDestinationConfigurationCopyCommand (\s a -> s { _kinesisFirehoseRedshiftDestinationConfigurationCopyCommand = a })
kfrdcPassword :: Lens' KinesisFirehoseRedshiftDestinationConfiguration (Val Text)
kfrdcPassword = lens _kinesisFirehoseRedshiftDestinationConfigurationPassword (\s a -> s { _kinesisFirehoseRedshiftDestinationConfigurationPassword = a })
kfrdcRoleARN :: Lens' KinesisFirehoseRedshiftDestinationConfiguration (Val Text)
kfrdcRoleARN = lens _kinesisFirehoseRedshiftDestinationConfigurationRoleARN (\s a -> s { _kinesisFirehoseRedshiftDestinationConfigurationRoleARN = a })
kfrdcS3Configuration :: Lens' KinesisFirehoseRedshiftDestinationConfiguration KinesisFirehoseS3DestinationConfiguration
kfrdcS3Configuration = lens _kinesisFirehoseRedshiftDestinationConfigurationS3Configuration (\s a -> s { _kinesisFirehoseRedshiftDestinationConfigurationS3Configuration = a })
kfrdcUsername :: Lens' KinesisFirehoseRedshiftDestinationConfiguration (Val Text)
kfrdcUsername = lens _kinesisFirehoseRedshiftDestinationConfigurationUsername (\s a -> s { _kinesisFirehoseRedshiftDestinationConfigurationUsername = a })