stratosphere-0.33.0: library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationInput.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html
module Stratosphere.ResourceProperties.KinesisAnalyticsV2ApplicationInput where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.KinesisAnalyticsV2ApplicationInputParallelism
import Stratosphere.ResourceProperties.KinesisAnalyticsV2ApplicationInputProcessingConfiguration
import Stratosphere.ResourceProperties.KinesisAnalyticsV2ApplicationInputSchema
import Stratosphere.ResourceProperties.KinesisAnalyticsV2ApplicationKinesisFirehoseInput
import Stratosphere.ResourceProperties.KinesisAnalyticsV2ApplicationKinesisStreamsInput
-- | Full data type definition for KinesisAnalyticsV2ApplicationInput. See
-- 'kinesisAnalyticsV2ApplicationInput' for a more convenient constructor.
data KinesisAnalyticsV2ApplicationInput =
KinesisAnalyticsV2ApplicationInput
{ _kinesisAnalyticsV2ApplicationInputInputParallelism :: Maybe KinesisAnalyticsV2ApplicationInputParallelism
, _kinesisAnalyticsV2ApplicationInputInputProcessingConfiguration :: Maybe KinesisAnalyticsV2ApplicationInputProcessingConfiguration
, _kinesisAnalyticsV2ApplicationInputInputSchema :: KinesisAnalyticsV2ApplicationInputSchema
, _kinesisAnalyticsV2ApplicationInputKinesisFirehoseInput :: Maybe KinesisAnalyticsV2ApplicationKinesisFirehoseInput
, _kinesisAnalyticsV2ApplicationInputKinesisStreamsInput :: Maybe KinesisAnalyticsV2ApplicationKinesisStreamsInput
, _kinesisAnalyticsV2ApplicationInputNamePrefix :: Val Text
} deriving (Show, Eq)
instance ToJSON KinesisAnalyticsV2ApplicationInput where
toJSON KinesisAnalyticsV2ApplicationInput{..} =
object $
catMaybes
[ fmap (("InputParallelism",) . toJSON) _kinesisAnalyticsV2ApplicationInputInputParallelism
, fmap (("InputProcessingConfiguration",) . toJSON) _kinesisAnalyticsV2ApplicationInputInputProcessingConfiguration
, (Just . ("InputSchema",) . toJSON) _kinesisAnalyticsV2ApplicationInputInputSchema
, fmap (("KinesisFirehoseInput",) . toJSON) _kinesisAnalyticsV2ApplicationInputKinesisFirehoseInput
, fmap (("KinesisStreamsInput",) . toJSON) _kinesisAnalyticsV2ApplicationInputKinesisStreamsInput
, (Just . ("NamePrefix",) . toJSON) _kinesisAnalyticsV2ApplicationInputNamePrefix
]
-- | Constructor for 'KinesisAnalyticsV2ApplicationInput' containing required
-- fields as arguments.
kinesisAnalyticsV2ApplicationInput
:: KinesisAnalyticsV2ApplicationInputSchema -- ^ 'kavaiInputSchema'
-> Val Text -- ^ 'kavaiNamePrefix'
-> KinesisAnalyticsV2ApplicationInput
kinesisAnalyticsV2ApplicationInput inputSchemaarg namePrefixarg =
KinesisAnalyticsV2ApplicationInput
{ _kinesisAnalyticsV2ApplicationInputInputParallelism = Nothing
, _kinesisAnalyticsV2ApplicationInputInputProcessingConfiguration = Nothing
, _kinesisAnalyticsV2ApplicationInputInputSchema = inputSchemaarg
, _kinesisAnalyticsV2ApplicationInputKinesisFirehoseInput = Nothing
, _kinesisAnalyticsV2ApplicationInputKinesisStreamsInput = Nothing
, _kinesisAnalyticsV2ApplicationInputNamePrefix = namePrefixarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputparallelism
kavaiInputParallelism :: Lens' KinesisAnalyticsV2ApplicationInput (Maybe KinesisAnalyticsV2ApplicationInputParallelism)
kavaiInputParallelism = lens _kinesisAnalyticsV2ApplicationInputInputParallelism (\s a -> s { _kinesisAnalyticsV2ApplicationInputInputParallelism = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputprocessingconfiguration
kavaiInputProcessingConfiguration :: Lens' KinesisAnalyticsV2ApplicationInput (Maybe KinesisAnalyticsV2ApplicationInputProcessingConfiguration)
kavaiInputProcessingConfiguration = lens _kinesisAnalyticsV2ApplicationInputInputProcessingConfiguration (\s a -> s { _kinesisAnalyticsV2ApplicationInputInputProcessingConfiguration = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputschema
kavaiInputSchema :: Lens' KinesisAnalyticsV2ApplicationInput KinesisAnalyticsV2ApplicationInputSchema
kavaiInputSchema = lens _kinesisAnalyticsV2ApplicationInputInputSchema (\s a -> s { _kinesisAnalyticsV2ApplicationInputInputSchema = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-kinesisfirehoseinput
kavaiKinesisFirehoseInput :: Lens' KinesisAnalyticsV2ApplicationInput (Maybe KinesisAnalyticsV2ApplicationKinesisFirehoseInput)
kavaiKinesisFirehoseInput = lens _kinesisAnalyticsV2ApplicationInputKinesisFirehoseInput (\s a -> s { _kinesisAnalyticsV2ApplicationInputKinesisFirehoseInput = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-kinesisstreamsinput
kavaiKinesisStreamsInput :: Lens' KinesisAnalyticsV2ApplicationInput (Maybe KinesisAnalyticsV2ApplicationKinesisStreamsInput)
kavaiKinesisStreamsInput = lens _kinesisAnalyticsV2ApplicationInputKinesisStreamsInput (\s a -> s { _kinesisAnalyticsV2ApplicationInputKinesisStreamsInput = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-nameprefix
kavaiNamePrefix :: Lens' KinesisAnalyticsV2ApplicationInput (Val Text)
kavaiNamePrefix = lens _kinesisAnalyticsV2ApplicationInputNamePrefix (\s a -> s { _kinesisAnalyticsV2ApplicationInputNamePrefix = a })