module Stratosphere.ElastiCache.CacheCluster.LogDeliveryConfigurationRequestProperty (
        module Exports, LogDeliveryConfigurationRequestProperty(..),
        mkLogDeliveryConfigurationRequestProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ElastiCache.CacheCluster.DestinationDetailsProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data LogDeliveryConfigurationRequestProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html>
    LogDeliveryConfigurationRequestProperty {LogDeliveryConfigurationRequestProperty -> ()
haddock_workaround_ :: (),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationdetails>
                                             LogDeliveryConfigurationRequestProperty
-> DestinationDetailsProperty
destinationDetails :: DestinationDetailsProperty,
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationtype>
                                             LogDeliveryConfigurationRequestProperty -> Value Text
destinationType :: (Value Prelude.Text),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logformat>
                                             LogDeliveryConfigurationRequestProperty -> Value Text
logFormat :: (Value Prelude.Text),
                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logtype>
                                             LogDeliveryConfigurationRequestProperty -> Value Text
logType :: (Value Prelude.Text)}
  deriving stock (LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty -> Bool
(LogDeliveryConfigurationRequestProperty
 -> LogDeliveryConfigurationRequestProperty -> Bool)
-> (LogDeliveryConfigurationRequestProperty
    -> LogDeliveryConfigurationRequestProperty -> Bool)
-> Eq LogDeliveryConfigurationRequestProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty -> Bool
== :: LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty -> Bool
$c/= :: LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty -> Bool
/= :: LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty -> Bool
Prelude.Eq, Int -> LogDeliveryConfigurationRequestProperty -> ShowS
[LogDeliveryConfigurationRequestProperty] -> ShowS
LogDeliveryConfigurationRequestProperty -> String
(Int -> LogDeliveryConfigurationRequestProperty -> ShowS)
-> (LogDeliveryConfigurationRequestProperty -> String)
-> ([LogDeliveryConfigurationRequestProperty] -> ShowS)
-> Show LogDeliveryConfigurationRequestProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LogDeliveryConfigurationRequestProperty -> ShowS
showsPrec :: Int -> LogDeliveryConfigurationRequestProperty -> ShowS
$cshow :: LogDeliveryConfigurationRequestProperty -> String
show :: LogDeliveryConfigurationRequestProperty -> String
$cshowList :: [LogDeliveryConfigurationRequestProperty] -> ShowS
showList :: [LogDeliveryConfigurationRequestProperty] -> ShowS
Prelude.Show)
mkLogDeliveryConfigurationRequestProperty ::
  DestinationDetailsProperty
  -> Value Prelude.Text
     -> Value Prelude.Text
        -> Value Prelude.Text -> LogDeliveryConfigurationRequestProperty
mkLogDeliveryConfigurationRequestProperty :: DestinationDetailsProperty
-> Value Text
-> Value Text
-> Value Text
-> LogDeliveryConfigurationRequestProperty
mkLogDeliveryConfigurationRequestProperty
  DestinationDetailsProperty
destinationDetails
  Value Text
destinationType
  Value Text
logFormat
  Value Text
logType
  = LogDeliveryConfigurationRequestProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), destinationDetails :: DestinationDetailsProperty
destinationDetails = DestinationDetailsProperty
destinationDetails,
       destinationType :: Value Text
destinationType = Value Text
destinationType, logFormat :: Value Text
logFormat = Value Text
logFormat,
       logType :: Value Text
logType = Value Text
logType}
instance ToResourceProperties LogDeliveryConfigurationRequestProperty where
  toResourceProperties :: LogDeliveryConfigurationRequestProperty -> ResourceProperties
toResourceProperties LogDeliveryConfigurationRequestProperty {()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: LogDeliveryConfigurationRequestProperty -> ()
destinationDetails :: LogDeliveryConfigurationRequestProperty
-> DestinationDetailsProperty
destinationType :: LogDeliveryConfigurationRequestProperty -> Value Text
logFormat :: LogDeliveryConfigurationRequestProperty -> Value Text
logType :: LogDeliveryConfigurationRequestProperty -> Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DestinationDetails" Key -> DestinationDetailsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DestinationDetailsProperty
destinationDetails,
                       Key
"DestinationType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
destinationType,
                       Key
"LogFormat" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
logFormat, Key
"LogType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
logType]}
instance JSON.ToJSON LogDeliveryConfigurationRequestProperty where
  toJSON :: LogDeliveryConfigurationRequestProperty -> Value
toJSON LogDeliveryConfigurationRequestProperty {()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: LogDeliveryConfigurationRequestProperty -> ()
destinationDetails :: LogDeliveryConfigurationRequestProperty
-> DestinationDetailsProperty
destinationType :: LogDeliveryConfigurationRequestProperty -> Value Text
logFormat :: LogDeliveryConfigurationRequestProperty -> Value Text
logType :: LogDeliveryConfigurationRequestProperty -> Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DestinationDetails" Key -> DestinationDetailsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DestinationDetailsProperty
destinationDetails,
         Key
"DestinationType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
destinationType,
         Key
"LogFormat" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
logFormat, Key
"LogType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
logType]
instance Property "DestinationDetails" LogDeliveryConfigurationRequestProperty where
  type PropertyType "DestinationDetails" LogDeliveryConfigurationRequestProperty = DestinationDetailsProperty
  set :: PropertyType
  "DestinationDetails" LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
set PropertyType
  "DestinationDetails" LogDeliveryConfigurationRequestProperty
newValue LogDeliveryConfigurationRequestProperty {()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: LogDeliveryConfigurationRequestProperty -> ()
destinationDetails :: LogDeliveryConfigurationRequestProperty
-> DestinationDetailsProperty
destinationType :: LogDeliveryConfigurationRequestProperty -> Value Text
logFormat :: LogDeliveryConfigurationRequestProperty -> Value Text
logType :: LogDeliveryConfigurationRequestProperty -> Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
..}
    = LogDeliveryConfigurationRequestProperty
        {destinationDetails :: DestinationDetailsProperty
destinationDetails = PropertyType
  "DestinationDetails" LogDeliveryConfigurationRequestProperty
DestinationDetailsProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
haddock_workaround_ :: ()
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
..}
instance Property "DestinationType" LogDeliveryConfigurationRequestProperty where
  type PropertyType "DestinationType" LogDeliveryConfigurationRequestProperty = Value Prelude.Text
  set :: PropertyType
  "DestinationType" LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
set PropertyType
  "DestinationType" LogDeliveryConfigurationRequestProperty
newValue LogDeliveryConfigurationRequestProperty {()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: LogDeliveryConfigurationRequestProperty -> ()
destinationDetails :: LogDeliveryConfigurationRequestProperty
-> DestinationDetailsProperty
destinationType :: LogDeliveryConfigurationRequestProperty -> Value Text
logFormat :: LogDeliveryConfigurationRequestProperty -> Value Text
logType :: LogDeliveryConfigurationRequestProperty -> Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
..}
    = LogDeliveryConfigurationRequestProperty
        {destinationType :: Value Text
destinationType = PropertyType
  "DestinationType" LogDeliveryConfigurationRequestProperty
Value Text
newValue, ()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
logFormat :: Value Text
logType :: Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
logFormat :: Value Text
logType :: Value Text
..}
instance Property "LogFormat" LogDeliveryConfigurationRequestProperty where
  type PropertyType "LogFormat" LogDeliveryConfigurationRequestProperty = Value Prelude.Text
  set :: PropertyType "LogFormat" LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
set PropertyType "LogFormat" LogDeliveryConfigurationRequestProperty
newValue LogDeliveryConfigurationRequestProperty {()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: LogDeliveryConfigurationRequestProperty -> ()
destinationDetails :: LogDeliveryConfigurationRequestProperty
-> DestinationDetailsProperty
destinationType :: LogDeliveryConfigurationRequestProperty -> Value Text
logFormat :: LogDeliveryConfigurationRequestProperty -> Value Text
logType :: LogDeliveryConfigurationRequestProperty -> Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
..}
    = LogDeliveryConfigurationRequestProperty
        {logFormat :: Value Text
logFormat = PropertyType "LogFormat" LogDeliveryConfigurationRequestProperty
Value Text
newValue, ()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logType :: Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logType :: Value Text
..}
instance Property "LogType" LogDeliveryConfigurationRequestProperty where
  type PropertyType "LogType" LogDeliveryConfigurationRequestProperty = Value Prelude.Text
  set :: PropertyType "LogType" LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
-> LogDeliveryConfigurationRequestProperty
set PropertyType "LogType" LogDeliveryConfigurationRequestProperty
newValue LogDeliveryConfigurationRequestProperty {()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: LogDeliveryConfigurationRequestProperty -> ()
destinationDetails :: LogDeliveryConfigurationRequestProperty
-> DestinationDetailsProperty
destinationType :: LogDeliveryConfigurationRequestProperty -> Value Text
logFormat :: LogDeliveryConfigurationRequestProperty -> Value Text
logType :: LogDeliveryConfigurationRequestProperty -> Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
logType :: Value Text
..}
    = LogDeliveryConfigurationRequestProperty {logType :: Value Text
logType = PropertyType "LogType" LogDeliveryConfigurationRequestProperty
Value Text
newValue, ()
Value Text
DestinationDetailsProperty
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
haddock_workaround_ :: ()
destinationDetails :: DestinationDetailsProperty
destinationType :: Value Text
logFormat :: Value Text
..}