stratosphere-dynamodb-1.0.0: gen/Stratosphere/DynamoDB/Table/ImportSourceSpecificationProperty.hs
module Stratosphere.DynamoDB.Table.ImportSourceSpecificationProperty (
module Exports, ImportSourceSpecificationProperty(..),
mkImportSourceSpecificationProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DynamoDB.Table.InputFormatOptionsProperty as Exports
import {-# SOURCE #-} Stratosphere.DynamoDB.Table.S3BucketSourceProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ImportSourceSpecificationProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html>
ImportSourceSpecificationProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputcompressiontype>
inputCompressionType :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputformat>
inputFormat :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-inputformatoptions>
inputFormatOptions :: (Prelude.Maybe InputFormatOptionsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html#cfn-dynamodb-table-importsourcespecification-s3bucketsource>
s3BucketSource :: S3BucketSourceProperty}
deriving stock (Prelude.Eq, Prelude.Show)
mkImportSourceSpecificationProperty ::
Value Prelude.Text
-> S3BucketSourceProperty -> ImportSourceSpecificationProperty
mkImportSourceSpecificationProperty inputFormat s3BucketSource
= ImportSourceSpecificationProperty
{haddock_workaround_ = (), inputFormat = inputFormat,
s3BucketSource = s3BucketSource,
inputCompressionType = Prelude.Nothing,
inputFormatOptions = Prelude.Nothing}
instance ToResourceProperties ImportSourceSpecificationProperty where
toResourceProperties ImportSourceSpecificationProperty {..}
= ResourceProperties
{awsType = "AWS::DynamoDB::Table.ImportSourceSpecification",
supportsTags = Prelude.False,
properties = Prelude.fromList
((Prelude.<>)
["InputFormat" JSON..= inputFormat,
"S3BucketSource" JSON..= s3BucketSource]
(Prelude.catMaybes
[(JSON..=) "InputCompressionType" Prelude.<$> inputCompressionType,
(JSON..=) "InputFormatOptions" Prelude.<$> inputFormatOptions]))}
instance JSON.ToJSON ImportSourceSpecificationProperty where
toJSON ImportSourceSpecificationProperty {..}
= JSON.object
(Prelude.fromList
((Prelude.<>)
["InputFormat" JSON..= inputFormat,
"S3BucketSource" JSON..= s3BucketSource]
(Prelude.catMaybes
[(JSON..=) "InputCompressionType" Prelude.<$> inputCompressionType,
(JSON..=) "InputFormatOptions" Prelude.<$> inputFormatOptions])))
instance Property "InputCompressionType" ImportSourceSpecificationProperty where
type PropertyType "InputCompressionType" ImportSourceSpecificationProperty = Value Prelude.Text
set newValue ImportSourceSpecificationProperty {..}
= ImportSourceSpecificationProperty
{inputCompressionType = Prelude.pure newValue, ..}
instance Property "InputFormat" ImportSourceSpecificationProperty where
type PropertyType "InputFormat" ImportSourceSpecificationProperty = Value Prelude.Text
set newValue ImportSourceSpecificationProperty {..}
= ImportSourceSpecificationProperty {inputFormat = newValue, ..}
instance Property "InputFormatOptions" ImportSourceSpecificationProperty where
type PropertyType "InputFormatOptions" ImportSourceSpecificationProperty = InputFormatOptionsProperty
set newValue ImportSourceSpecificationProperty {..}
= ImportSourceSpecificationProperty
{inputFormatOptions = Prelude.pure newValue, ..}
instance Property "S3BucketSource" ImportSourceSpecificationProperty where
type PropertyType "S3BucketSource" ImportSourceSpecificationProperty = S3BucketSourceProperty
set newValue ImportSourceSpecificationProperty {..}
= ImportSourceSpecificationProperty {s3BucketSource = newValue, ..}