module Stratosphere.ApplicationInsights.Application.LogProperty (
        LogProperty(..), mkLogProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data LogProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html>
    LogProperty {LogProperty -> ()
haddock_workaround_ :: (),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-encoding>
                 LogProperty -> Maybe (Value Text)
encoding :: (Prelude.Maybe (Value Prelude.Text)),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-loggroupname>
                 LogProperty -> Maybe (Value Text)
logGroupName :: (Prelude.Maybe (Value Prelude.Text)),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-logpath>
                 LogProperty -> Maybe (Value Text)
logPath :: (Prelude.Maybe (Value Prelude.Text)),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-logtype>
                 LogProperty -> Value Text
logType :: (Value Prelude.Text),
                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-log.html#cfn-applicationinsights-application-log-patternset>
                 LogProperty -> Maybe (Value Text)
patternSet :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (LogProperty -> LogProperty -> Bool
(LogProperty -> LogProperty -> Bool)
-> (LogProperty -> LogProperty -> Bool) -> Eq LogProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LogProperty -> LogProperty -> Bool
== :: LogProperty -> LogProperty -> Bool
$c/= :: LogProperty -> LogProperty -> Bool
/= :: LogProperty -> LogProperty -> Bool
Prelude.Eq, Int -> LogProperty -> ShowS
[LogProperty] -> ShowS
LogProperty -> String
(Int -> LogProperty -> ShowS)
-> (LogProperty -> String)
-> ([LogProperty] -> ShowS)
-> Show LogProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LogProperty -> ShowS
showsPrec :: Int -> LogProperty -> ShowS
$cshow :: LogProperty -> String
show :: LogProperty -> String
$cshowList :: [LogProperty] -> ShowS
showList :: [LogProperty] -> ShowS
Prelude.Show)
mkLogProperty :: Value Prelude.Text -> LogProperty
mkLogProperty :: Value Text -> LogProperty
mkLogProperty Value Text
logType
  = LogProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), logType :: Value Text
logType = Value Text
logType,
       encoding :: Maybe (Value Text)
encoding = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, logGroupName :: Maybe (Value Text)
logGroupName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       logPath :: Maybe (Value Text)
logPath = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, patternSet :: Maybe (Value Text)
patternSet = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties LogProperty where
  toResourceProperties :: LogProperty -> ResourceProperties
toResourceProperties LogProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: LogProperty -> ()
encoding :: LogProperty -> Maybe (Value Text)
logGroupName :: LogProperty -> Maybe (Value Text)
logPath :: LogProperty -> Maybe (Value Text)
logType :: LogProperty -> Value Text
patternSet :: LogProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ApplicationInsights::Application.Log",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
                           [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]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [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..=) Key
"Encoding" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
encoding,
                               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..=) Key
"LogGroupName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
logGroupName,
                               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..=) Key
"LogPath" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
logPath,
                               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..=) Key
"PatternSet" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
patternSet]))}
instance JSON.ToJSON LogProperty where
  toJSON :: LogProperty -> Value
toJSON LogProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: LogProperty -> ()
encoding :: LogProperty -> Maybe (Value Text)
logGroupName :: LogProperty -> Maybe (Value Text)
logPath :: LogProperty -> Maybe (Value Text)
logType :: LogProperty -> Value Text
patternSet :: LogProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
              [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]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [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..=) Key
"Encoding" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
encoding,
                  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..=) Key
"LogGroupName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
logGroupName,
                  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..=) Key
"LogPath" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
logPath,
                  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..=) Key
"PatternSet" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
patternSet])))
instance Property "Encoding" LogProperty where
  type PropertyType "Encoding" LogProperty = Value Prelude.Text
  set :: PropertyType "Encoding" LogProperty -> LogProperty -> LogProperty
set PropertyType "Encoding" LogProperty
newValue LogProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: LogProperty -> ()
encoding :: LogProperty -> Maybe (Value Text)
logGroupName :: LogProperty -> Maybe (Value Text)
logPath :: LogProperty -> Maybe (Value Text)
logType :: LogProperty -> Value Text
patternSet :: LogProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
    = LogProperty {encoding :: Maybe (Value Text)
encoding = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Encoding" LogProperty
Value Text
newValue, Maybe (Value Text)
()
Value Text
haddock_workaround_ :: ()
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
haddock_workaround_ :: ()
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
instance Property "LogGroupName" LogProperty where
  type PropertyType "LogGroupName" LogProperty = Value Prelude.Text
  set :: PropertyType "LogGroupName" LogProperty
-> LogProperty -> LogProperty
set PropertyType "LogGroupName" LogProperty
newValue LogProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: LogProperty -> ()
encoding :: LogProperty -> Maybe (Value Text)
logGroupName :: LogProperty -> Maybe (Value Text)
logPath :: LogProperty -> Maybe (Value Text)
logType :: LogProperty -> Value Text
patternSet :: LogProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
    = LogProperty {logGroupName :: Maybe (Value Text)
logGroupName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "LogGroupName" LogProperty
Value Text
newValue, Maybe (Value Text)
()
Value Text
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
instance Property "LogPath" LogProperty where
  type PropertyType "LogPath" LogProperty = Value Prelude.Text
  set :: PropertyType "LogPath" LogProperty -> LogProperty -> LogProperty
set PropertyType "LogPath" LogProperty
newValue LogProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: LogProperty -> ()
encoding :: LogProperty -> Maybe (Value Text)
logGroupName :: LogProperty -> Maybe (Value Text)
logPath :: LogProperty -> Maybe (Value Text)
logType :: LogProperty -> Value Text
patternSet :: LogProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
    = LogProperty {logPath :: Maybe (Value Text)
logPath = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "LogPath" LogProperty
Value Text
newValue, Maybe (Value Text)
()
Value Text
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
instance Property "LogType" LogProperty where
  type PropertyType "LogType" LogProperty = Value Prelude.Text
  set :: PropertyType "LogType" LogProperty -> LogProperty -> LogProperty
set PropertyType "LogType" LogProperty
newValue LogProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: LogProperty -> ()
encoding :: LogProperty -> Maybe (Value Text)
logGroupName :: LogProperty -> Maybe (Value Text)
logPath :: LogProperty -> Maybe (Value Text)
logType :: LogProperty -> Value Text
patternSet :: LogProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
    = LogProperty {logType :: Value Text
logType = PropertyType "LogType" LogProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
patternSet :: Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
patternSet :: Maybe (Value Text)
..}
instance Property "PatternSet" LogProperty where
  type PropertyType "PatternSet" LogProperty = Value Prelude.Text
  set :: PropertyType "PatternSet" LogProperty -> LogProperty -> LogProperty
set PropertyType "PatternSet" LogProperty
newValue LogProperty {Maybe (Value Text)
()
Value Text
haddock_workaround_ :: LogProperty -> ()
encoding :: LogProperty -> Maybe (Value Text)
logGroupName :: LogProperty -> Maybe (Value Text)
logPath :: LogProperty -> Maybe (Value Text)
logType :: LogProperty -> Value Text
patternSet :: LogProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
patternSet :: Maybe (Value Text)
..}
    = LogProperty {patternSet :: Maybe (Value Text)
patternSet = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "PatternSet" LogProperty
Value Text
newValue, Maybe (Value Text)
()
Value Text
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
haddock_workaround_ :: ()
encoding :: Maybe (Value Text)
logGroupName :: Maybe (Value Text)
logPath :: Maybe (Value Text)
logType :: Value Text
..}