module Stratosphere.APS.Workspace.LoggingDestinationProperty (
module Exports, LoggingDestinationProperty(..),
mkLoggingDestinationProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.APS.Workspace.CloudWatchLogDestinationProperty as Exports
import {-# SOURCE #-} Stratosphere.APS.Workspace.LoggingFilterProperty as Exports
import Stratosphere.ResourceProperties
data LoggingDestinationProperty
=
LoggingDestinationProperty {LoggingDestinationProperty -> ()
haddock_workaround_ :: (),
LoggingDestinationProperty -> CloudWatchLogDestinationProperty
cloudWatchLogs :: CloudWatchLogDestinationProperty,
LoggingDestinationProperty -> LoggingFilterProperty
filters :: LoggingFilterProperty}
deriving stock (LoggingDestinationProperty -> LoggingDestinationProperty -> Bool
(LoggingDestinationProperty -> LoggingDestinationProperty -> Bool)
-> (LoggingDestinationProperty
-> LoggingDestinationProperty -> Bool)
-> Eq LoggingDestinationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LoggingDestinationProperty -> LoggingDestinationProperty -> Bool
== :: LoggingDestinationProperty -> LoggingDestinationProperty -> Bool
$c/= :: LoggingDestinationProperty -> LoggingDestinationProperty -> Bool
/= :: LoggingDestinationProperty -> LoggingDestinationProperty -> Bool
Prelude.Eq, Int -> LoggingDestinationProperty -> ShowS
[LoggingDestinationProperty] -> ShowS
LoggingDestinationProperty -> String
(Int -> LoggingDestinationProperty -> ShowS)
-> (LoggingDestinationProperty -> String)
-> ([LoggingDestinationProperty] -> ShowS)
-> Show LoggingDestinationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LoggingDestinationProperty -> ShowS
showsPrec :: Int -> LoggingDestinationProperty -> ShowS
$cshow :: LoggingDestinationProperty -> String
show :: LoggingDestinationProperty -> String
$cshowList :: [LoggingDestinationProperty] -> ShowS
showList :: [LoggingDestinationProperty] -> ShowS
Prelude.Show)
mkLoggingDestinationProperty ::
CloudWatchLogDestinationProperty
-> LoggingFilterProperty -> LoggingDestinationProperty
mkLoggingDestinationProperty :: CloudWatchLogDestinationProperty
-> LoggingFilterProperty -> LoggingDestinationProperty
mkLoggingDestinationProperty CloudWatchLogDestinationProperty
cloudWatchLogs LoggingFilterProperty
filters
= LoggingDestinationProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), cloudWatchLogs :: CloudWatchLogDestinationProperty
cloudWatchLogs = CloudWatchLogDestinationProperty
cloudWatchLogs,
filters :: LoggingFilterProperty
filters = LoggingFilterProperty
filters}
instance ToResourceProperties LoggingDestinationProperty where
toResourceProperties :: LoggingDestinationProperty -> ResourceProperties
toResourceProperties LoggingDestinationProperty {()
CloudWatchLogDestinationProperty
LoggingFilterProperty
haddock_workaround_ :: LoggingDestinationProperty -> ()
cloudWatchLogs :: LoggingDestinationProperty -> CloudWatchLogDestinationProperty
filters :: LoggingDestinationProperty -> LoggingFilterProperty
haddock_workaround_ :: ()
cloudWatchLogs :: CloudWatchLogDestinationProperty
filters :: LoggingFilterProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::APS::Workspace.LoggingDestination",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"CloudWatchLogs" Key -> CloudWatchLogDestinationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CloudWatchLogDestinationProperty
cloudWatchLogs,
Key
"Filters" Key -> LoggingFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= LoggingFilterProperty
filters]}
instance JSON.ToJSON LoggingDestinationProperty where
toJSON :: LoggingDestinationProperty -> Value
toJSON LoggingDestinationProperty {()
CloudWatchLogDestinationProperty
LoggingFilterProperty
haddock_workaround_ :: LoggingDestinationProperty -> ()
cloudWatchLogs :: LoggingDestinationProperty -> CloudWatchLogDestinationProperty
filters :: LoggingDestinationProperty -> LoggingFilterProperty
haddock_workaround_ :: ()
cloudWatchLogs :: CloudWatchLogDestinationProperty
filters :: LoggingFilterProperty
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"CloudWatchLogs" Key -> CloudWatchLogDestinationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CloudWatchLogDestinationProperty
cloudWatchLogs,
Key
"Filters" Key -> LoggingFilterProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= LoggingFilterProperty
filters]
instance Property "CloudWatchLogs" LoggingDestinationProperty where
type PropertyType "CloudWatchLogs" LoggingDestinationProperty = CloudWatchLogDestinationProperty
set :: PropertyType "CloudWatchLogs" LoggingDestinationProperty
-> LoggingDestinationProperty -> LoggingDestinationProperty
set PropertyType "CloudWatchLogs" LoggingDestinationProperty
newValue LoggingDestinationProperty {()
CloudWatchLogDestinationProperty
LoggingFilterProperty
haddock_workaround_ :: LoggingDestinationProperty -> ()
cloudWatchLogs :: LoggingDestinationProperty -> CloudWatchLogDestinationProperty
filters :: LoggingDestinationProperty -> LoggingFilterProperty
haddock_workaround_ :: ()
cloudWatchLogs :: CloudWatchLogDestinationProperty
filters :: LoggingFilterProperty
..}
= LoggingDestinationProperty {cloudWatchLogs :: CloudWatchLogDestinationProperty
cloudWatchLogs = PropertyType "CloudWatchLogs" LoggingDestinationProperty
CloudWatchLogDestinationProperty
newValue, ()
LoggingFilterProperty
haddock_workaround_ :: ()
filters :: LoggingFilterProperty
haddock_workaround_ :: ()
filters :: LoggingFilterProperty
..}
instance Property "Filters" LoggingDestinationProperty where
type PropertyType "Filters" LoggingDestinationProperty = LoggingFilterProperty
set :: PropertyType "Filters" LoggingDestinationProperty
-> LoggingDestinationProperty -> LoggingDestinationProperty
set PropertyType "Filters" LoggingDestinationProperty
newValue LoggingDestinationProperty {()
CloudWatchLogDestinationProperty
LoggingFilterProperty
haddock_workaround_ :: LoggingDestinationProperty -> ()
cloudWatchLogs :: LoggingDestinationProperty -> CloudWatchLogDestinationProperty
filters :: LoggingDestinationProperty -> LoggingFilterProperty
haddock_workaround_ :: ()
cloudWatchLogs :: CloudWatchLogDestinationProperty
filters :: LoggingFilterProperty
..}
= LoggingDestinationProperty {filters :: LoggingFilterProperty
filters = PropertyType "Filters" LoggingDestinationProperty
LoggingFilterProperty
newValue, ()
CloudWatchLogDestinationProperty
haddock_workaround_ :: ()
cloudWatchLogs :: CloudWatchLogDestinationProperty
haddock_workaround_ :: ()
cloudWatchLogs :: CloudWatchLogDestinationProperty
..}