{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.ElastiCache.Types.PendingLogDeliveryConfiguration where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ElastiCache.Types.DestinationDetails
import Amazonka.ElastiCache.Types.DestinationType
import Amazonka.ElastiCache.Types.LogFormat
import Amazonka.ElastiCache.Types.LogType
import qualified Amazonka.Prelude as Prelude
data PendingLogDeliveryConfiguration = PendingLogDeliveryConfiguration'
{
PendingLogDeliveryConfiguration -> Maybe DestinationDetails
destinationDetails :: Prelude.Maybe DestinationDetails,
PendingLogDeliveryConfiguration -> Maybe DestinationType
destinationType :: Prelude.Maybe DestinationType,
PendingLogDeliveryConfiguration -> Maybe LogFormat
logFormat :: Prelude.Maybe LogFormat,
PendingLogDeliveryConfiguration -> Maybe LogType
logType :: Prelude.Maybe LogType
}
deriving (PendingLogDeliveryConfiguration
-> PendingLogDeliveryConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PendingLogDeliveryConfiguration
-> PendingLogDeliveryConfiguration -> Bool
$c/= :: PendingLogDeliveryConfiguration
-> PendingLogDeliveryConfiguration -> Bool
== :: PendingLogDeliveryConfiguration
-> PendingLogDeliveryConfiguration -> Bool
$c== :: PendingLogDeliveryConfiguration
-> PendingLogDeliveryConfiguration -> Bool
Prelude.Eq, ReadPrec [PendingLogDeliveryConfiguration]
ReadPrec PendingLogDeliveryConfiguration
Int -> ReadS PendingLogDeliveryConfiguration
ReadS [PendingLogDeliveryConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PendingLogDeliveryConfiguration]
$creadListPrec :: ReadPrec [PendingLogDeliveryConfiguration]
readPrec :: ReadPrec PendingLogDeliveryConfiguration
$creadPrec :: ReadPrec PendingLogDeliveryConfiguration
readList :: ReadS [PendingLogDeliveryConfiguration]
$creadList :: ReadS [PendingLogDeliveryConfiguration]
readsPrec :: Int -> ReadS PendingLogDeliveryConfiguration
$creadsPrec :: Int -> ReadS PendingLogDeliveryConfiguration
Prelude.Read, Int -> PendingLogDeliveryConfiguration -> ShowS
[PendingLogDeliveryConfiguration] -> ShowS
PendingLogDeliveryConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PendingLogDeliveryConfiguration] -> ShowS
$cshowList :: [PendingLogDeliveryConfiguration] -> ShowS
show :: PendingLogDeliveryConfiguration -> String
$cshow :: PendingLogDeliveryConfiguration -> String
showsPrec :: Int -> PendingLogDeliveryConfiguration -> ShowS
$cshowsPrec :: Int -> PendingLogDeliveryConfiguration -> ShowS
Prelude.Show, forall x.
Rep PendingLogDeliveryConfiguration x
-> PendingLogDeliveryConfiguration
forall x.
PendingLogDeliveryConfiguration
-> Rep PendingLogDeliveryConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PendingLogDeliveryConfiguration x
-> PendingLogDeliveryConfiguration
$cfrom :: forall x.
PendingLogDeliveryConfiguration
-> Rep PendingLogDeliveryConfiguration x
Prelude.Generic)
newPendingLogDeliveryConfiguration ::
PendingLogDeliveryConfiguration
newPendingLogDeliveryConfiguration :: PendingLogDeliveryConfiguration
newPendingLogDeliveryConfiguration =
PendingLogDeliveryConfiguration'
{ $sel:destinationDetails:PendingLogDeliveryConfiguration' :: Maybe DestinationDetails
destinationDetails =
forall a. Maybe a
Prelude.Nothing,
$sel:destinationType:PendingLogDeliveryConfiguration' :: Maybe DestinationType
destinationType = forall a. Maybe a
Prelude.Nothing,
$sel:logFormat:PendingLogDeliveryConfiguration' :: Maybe LogFormat
logFormat = forall a. Maybe a
Prelude.Nothing,
$sel:logType:PendingLogDeliveryConfiguration' :: Maybe LogType
logType = forall a. Maybe a
Prelude.Nothing
}
pendingLogDeliveryConfiguration_destinationDetails :: Lens.Lens' PendingLogDeliveryConfiguration (Prelude.Maybe DestinationDetails)
pendingLogDeliveryConfiguration_destinationDetails :: Lens' PendingLogDeliveryConfiguration (Maybe DestinationDetails)
pendingLogDeliveryConfiguration_destinationDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PendingLogDeliveryConfiguration' {Maybe DestinationDetails
destinationDetails :: Maybe DestinationDetails
$sel:destinationDetails:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe DestinationDetails
destinationDetails} -> Maybe DestinationDetails
destinationDetails) (\s :: PendingLogDeliveryConfiguration
s@PendingLogDeliveryConfiguration' {} Maybe DestinationDetails
a -> PendingLogDeliveryConfiguration
s {$sel:destinationDetails:PendingLogDeliveryConfiguration' :: Maybe DestinationDetails
destinationDetails = Maybe DestinationDetails
a} :: PendingLogDeliveryConfiguration)
pendingLogDeliveryConfiguration_destinationType :: Lens.Lens' PendingLogDeliveryConfiguration (Prelude.Maybe DestinationType)
pendingLogDeliveryConfiguration_destinationType :: Lens' PendingLogDeliveryConfiguration (Maybe DestinationType)
pendingLogDeliveryConfiguration_destinationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PendingLogDeliveryConfiguration' {Maybe DestinationType
destinationType :: Maybe DestinationType
$sel:destinationType:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe DestinationType
destinationType} -> Maybe DestinationType
destinationType) (\s :: PendingLogDeliveryConfiguration
s@PendingLogDeliveryConfiguration' {} Maybe DestinationType
a -> PendingLogDeliveryConfiguration
s {$sel:destinationType:PendingLogDeliveryConfiguration' :: Maybe DestinationType
destinationType = Maybe DestinationType
a} :: PendingLogDeliveryConfiguration)
pendingLogDeliveryConfiguration_logFormat :: Lens.Lens' PendingLogDeliveryConfiguration (Prelude.Maybe LogFormat)
pendingLogDeliveryConfiguration_logFormat :: Lens' PendingLogDeliveryConfiguration (Maybe LogFormat)
pendingLogDeliveryConfiguration_logFormat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PendingLogDeliveryConfiguration' {Maybe LogFormat
logFormat :: Maybe LogFormat
$sel:logFormat:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe LogFormat
logFormat} -> Maybe LogFormat
logFormat) (\s :: PendingLogDeliveryConfiguration
s@PendingLogDeliveryConfiguration' {} Maybe LogFormat
a -> PendingLogDeliveryConfiguration
s {$sel:logFormat:PendingLogDeliveryConfiguration' :: Maybe LogFormat
logFormat = Maybe LogFormat
a} :: PendingLogDeliveryConfiguration)
pendingLogDeliveryConfiguration_logType :: Lens.Lens' PendingLogDeliveryConfiguration (Prelude.Maybe LogType)
pendingLogDeliveryConfiguration_logType :: Lens' PendingLogDeliveryConfiguration (Maybe LogType)
pendingLogDeliveryConfiguration_logType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PendingLogDeliveryConfiguration' {Maybe LogType
logType :: Maybe LogType
$sel:logType:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe LogType
logType} -> Maybe LogType
logType) (\s :: PendingLogDeliveryConfiguration
s@PendingLogDeliveryConfiguration' {} Maybe LogType
a -> PendingLogDeliveryConfiguration
s {$sel:logType:PendingLogDeliveryConfiguration' :: Maybe LogType
logType = Maybe LogType
a} :: PendingLogDeliveryConfiguration)
instance Data.FromXML PendingLogDeliveryConfiguration where
parseXML :: [Node] -> Either String PendingLogDeliveryConfiguration
parseXML [Node]
x =
Maybe DestinationDetails
-> Maybe DestinationType
-> Maybe LogFormat
-> Maybe LogType
-> PendingLogDeliveryConfiguration
PendingLogDeliveryConfiguration'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DestinationDetails")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DestinationType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"LogFormat")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"LogType")
instance
Prelude.Hashable
PendingLogDeliveryConfiguration
where
hashWithSalt :: Int -> PendingLogDeliveryConfiguration -> Int
hashWithSalt
Int
_salt
PendingLogDeliveryConfiguration' {Maybe DestinationType
Maybe DestinationDetails
Maybe LogFormat
Maybe LogType
logType :: Maybe LogType
logFormat :: Maybe LogFormat
destinationType :: Maybe DestinationType
destinationDetails :: Maybe DestinationDetails
$sel:logType:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe LogType
$sel:logFormat:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe LogFormat
$sel:destinationType:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe DestinationType
$sel:destinationDetails:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe DestinationDetails
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DestinationDetails
destinationDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DestinationType
destinationType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LogFormat
logFormat
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LogType
logType
instance
Prelude.NFData
PendingLogDeliveryConfiguration
where
rnf :: PendingLogDeliveryConfiguration -> ()
rnf PendingLogDeliveryConfiguration' {Maybe DestinationType
Maybe DestinationDetails
Maybe LogFormat
Maybe LogType
logType :: Maybe LogType
logFormat :: Maybe LogFormat
destinationType :: Maybe DestinationType
destinationDetails :: Maybe DestinationDetails
$sel:logType:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe LogType
$sel:logFormat:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe LogFormat
$sel:destinationType:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe DestinationType
$sel:destinationDetails:PendingLogDeliveryConfiguration' :: PendingLogDeliveryConfiguration -> Maybe DestinationDetails
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DestinationDetails
destinationDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DestinationType
destinationType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LogFormat
logFormat
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LogType
logType