stratosphere-connect-1.0.0: gen/Stratosphere/Connect/InstanceStorageConfig/KinesisVideoStreamConfigProperty.hs
module Stratosphere.Connect.InstanceStorageConfig.KinesisVideoStreamConfigProperty (
module Exports, KinesisVideoStreamConfigProperty(..),
mkKinesisVideoStreamConfigProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Connect.InstanceStorageConfig.EncryptionConfigProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data KinesisVideoStreamConfigProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-instancestorageconfig-kinesisvideostreamconfig.html>
KinesisVideoStreamConfigProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-instancestorageconfig-kinesisvideostreamconfig.html#cfn-connect-instancestorageconfig-kinesisvideostreamconfig-encryptionconfig>
encryptionConfig :: EncryptionConfigProperty,
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-instancestorageconfig-kinesisvideostreamconfig.html#cfn-connect-instancestorageconfig-kinesisvideostreamconfig-prefix>
prefix :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-instancestorageconfig-kinesisvideostreamconfig.html#cfn-connect-instancestorageconfig-kinesisvideostreamconfig-retentionperiodhours>
retentionPeriodHours :: (Value Prelude.Double)}
deriving stock (Prelude.Eq, Prelude.Show)
mkKinesisVideoStreamConfigProperty ::
EncryptionConfigProperty
-> Value Prelude.Text
-> Value Prelude.Double -> KinesisVideoStreamConfigProperty
mkKinesisVideoStreamConfigProperty
encryptionConfig
prefix
retentionPeriodHours
= KinesisVideoStreamConfigProperty
{haddock_workaround_ = (), encryptionConfig = encryptionConfig,
prefix = prefix, retentionPeriodHours = retentionPeriodHours}
instance ToResourceProperties KinesisVideoStreamConfigProperty where
toResourceProperties KinesisVideoStreamConfigProperty {..}
= ResourceProperties
{awsType = "AWS::Connect::InstanceStorageConfig.KinesisVideoStreamConfig",
supportsTags = Prelude.False,
properties = ["EncryptionConfig" JSON..= encryptionConfig,
"Prefix" JSON..= prefix,
"RetentionPeriodHours" JSON..= retentionPeriodHours]}
instance JSON.ToJSON KinesisVideoStreamConfigProperty where
toJSON KinesisVideoStreamConfigProperty {..}
= JSON.object
["EncryptionConfig" JSON..= encryptionConfig,
"Prefix" JSON..= prefix,
"RetentionPeriodHours" JSON..= retentionPeriodHours]
instance Property "EncryptionConfig" KinesisVideoStreamConfigProperty where
type PropertyType "EncryptionConfig" KinesisVideoStreamConfigProperty = EncryptionConfigProperty
set newValue KinesisVideoStreamConfigProperty {..}
= KinesisVideoStreamConfigProperty
{encryptionConfig = newValue, ..}
instance Property "Prefix" KinesisVideoStreamConfigProperty where
type PropertyType "Prefix" KinesisVideoStreamConfigProperty = Value Prelude.Text
set newValue KinesisVideoStreamConfigProperty {..}
= KinesisVideoStreamConfigProperty {prefix = newValue, ..}
instance Property "RetentionPeriodHours" KinesisVideoStreamConfigProperty where
type PropertyType "RetentionPeriodHours" KinesisVideoStreamConfigProperty = Value Prelude.Double
set newValue KinesisVideoStreamConfigProperty {..}
= KinesisVideoStreamConfigProperty
{retentionPeriodHours = newValue, ..}