module Stratosphere.ApplicationInsights.Application.LogPatternProperty (
        LogPatternProperty(..), mkLogPatternProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data LogPatternProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html>
    LogPatternProperty {LogPatternProperty -> ()
haddock_workaround_ :: (),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-pattern>
                        LogPatternProperty -> Value Text
pattern :: (Value Prelude.Text),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-patternname>
                        LogPatternProperty -> Value Text
patternName :: (Value Prelude.Text),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-logpattern.html#cfn-applicationinsights-application-logpattern-rank>
                        LogPatternProperty -> Value Integer
rank :: (Value Prelude.Integer)}
  deriving stock (LogPatternProperty -> LogPatternProperty -> Bool
(LogPatternProperty -> LogPatternProperty -> Bool)
-> (LogPatternProperty -> LogPatternProperty -> Bool)
-> Eq LogPatternProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LogPatternProperty -> LogPatternProperty -> Bool
== :: LogPatternProperty -> LogPatternProperty -> Bool
$c/= :: LogPatternProperty -> LogPatternProperty -> Bool
/= :: LogPatternProperty -> LogPatternProperty -> Bool
Prelude.Eq, Int -> LogPatternProperty -> ShowS
[LogPatternProperty] -> ShowS
LogPatternProperty -> String
(Int -> LogPatternProperty -> ShowS)
-> (LogPatternProperty -> String)
-> ([LogPatternProperty] -> ShowS)
-> Show LogPatternProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LogPatternProperty -> ShowS
showsPrec :: Int -> LogPatternProperty -> ShowS
$cshow :: LogPatternProperty -> String
show :: LogPatternProperty -> String
$cshowList :: [LogPatternProperty] -> ShowS
showList :: [LogPatternProperty] -> ShowS
Prelude.Show)
mkLogPatternProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Integer -> LogPatternProperty
mkLogPatternProperty :: Value Text -> Value Text -> Value Integer -> LogPatternProperty
mkLogPatternProperty Value Text
pattern Value Text
patternName Value Integer
rank
  = LogPatternProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), pattern :: Value Text
pattern = Value Text
pattern,
       patternName :: Value Text
patternName = Value Text
patternName, rank :: Value Integer
rank = Value Integer
rank}
instance ToResourceProperties LogPatternProperty where
  toResourceProperties :: LogPatternProperty -> ResourceProperties
toResourceProperties LogPatternProperty {()
Value Integer
Value Text
haddock_workaround_ :: LogPatternProperty -> ()
pattern :: LogPatternProperty -> Value Text
patternName :: LogPatternProperty -> Value Text
rank :: LogPatternProperty -> Value Integer
haddock_workaround_ :: ()
pattern :: Value Text
patternName :: Value Text
rank :: Value Integer
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ApplicationInsights::Application.LogPattern",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Pattern" 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
pattern,
                       Key
"PatternName" 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
patternName, Key
"Rank" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
rank]}
instance JSON.ToJSON LogPatternProperty where
  toJSON :: LogPatternProperty -> Value
toJSON LogPatternProperty {()
Value Integer
Value Text
haddock_workaround_ :: LogPatternProperty -> ()
pattern :: LogPatternProperty -> Value Text
patternName :: LogPatternProperty -> Value Text
rank :: LogPatternProperty -> Value Integer
haddock_workaround_ :: ()
pattern :: Value Text
patternName :: Value Text
rank :: Value Integer
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Pattern" 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
pattern, Key
"PatternName" 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
patternName,
         Key
"Rank" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
rank]
instance Property "Pattern" LogPatternProperty where
  type PropertyType "Pattern" LogPatternProperty = Value Prelude.Text
  set :: PropertyType "Pattern" LogPatternProperty
-> LogPatternProperty -> LogPatternProperty
set PropertyType "Pattern" LogPatternProperty
newValue LogPatternProperty {()
Value Integer
Value Text
haddock_workaround_ :: LogPatternProperty -> ()
pattern :: LogPatternProperty -> Value Text
patternName :: LogPatternProperty -> Value Text
rank :: LogPatternProperty -> Value Integer
haddock_workaround_ :: ()
pattern :: Value Text
patternName :: Value Text
rank :: Value Integer
..}
    = LogPatternProperty {pattern :: Value Text
pattern = PropertyType "Pattern" LogPatternProperty
Value Text
newValue, ()
Value Integer
Value Text
haddock_workaround_ :: ()
patternName :: Value Text
rank :: Value Integer
haddock_workaround_ :: ()
patternName :: Value Text
rank :: Value Integer
..}
instance Property "PatternName" LogPatternProperty where
  type PropertyType "PatternName" LogPatternProperty = Value Prelude.Text
  set :: PropertyType "PatternName" LogPatternProperty
-> LogPatternProperty -> LogPatternProperty
set PropertyType "PatternName" LogPatternProperty
newValue LogPatternProperty {()
Value Integer
Value Text
haddock_workaround_ :: LogPatternProperty -> ()
pattern :: LogPatternProperty -> Value Text
patternName :: LogPatternProperty -> Value Text
rank :: LogPatternProperty -> Value Integer
haddock_workaround_ :: ()
pattern :: Value Text
patternName :: Value Text
rank :: Value Integer
..}
    = LogPatternProperty {patternName :: Value Text
patternName = PropertyType "PatternName" LogPatternProperty
Value Text
newValue, ()
Value Integer
Value Text
haddock_workaround_ :: ()
pattern :: Value Text
rank :: Value Integer
haddock_workaround_ :: ()
pattern :: Value Text
rank :: Value Integer
..}
instance Property "Rank" LogPatternProperty where
  type PropertyType "Rank" LogPatternProperty = Value Prelude.Integer
  set :: PropertyType "Rank" LogPatternProperty
-> LogPatternProperty -> LogPatternProperty
set PropertyType "Rank" LogPatternProperty
newValue LogPatternProperty {()
Value Integer
Value Text
haddock_workaround_ :: LogPatternProperty -> ()
pattern :: LogPatternProperty -> Value Text
patternName :: LogPatternProperty -> Value Text
rank :: LogPatternProperty -> Value Integer
haddock_workaround_ :: ()
pattern :: Value Text
patternName :: Value Text
rank :: Value Integer
..}
    = LogPatternProperty {rank :: Value Integer
rank = PropertyType "Rank" LogPatternProperty
Value Integer
newValue, ()
Value Text
haddock_workaround_ :: ()
pattern :: Value Text
patternName :: Value Text
haddock_workaround_ :: ()
pattern :: Value Text
patternName :: Value Text
..}