module Stratosphere.KinesisAnalyticsV2.ApplicationCloudWatchLoggingOption (
        module Exports, ApplicationCloudWatchLoggingOption(..),
        mkApplicationCloudWatchLoggingOption
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.KinesisAnalyticsV2.ApplicationCloudWatchLoggingOption.CloudWatchLoggingOptionProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ApplicationCloudWatchLoggingOption
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html>
    ApplicationCloudWatchLoggingOption {ApplicationCloudWatchLoggingOption -> ()
haddock_workaround_ :: (),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-applicationname>
                                        ApplicationCloudWatchLoggingOption -> Value Text
applicationName :: (Value Prelude.Text),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption>
                                        ApplicationCloudWatchLoggingOption
-> CloudWatchLoggingOptionProperty
cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty}
  deriving stock (ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption -> Bool
(ApplicationCloudWatchLoggingOption
 -> ApplicationCloudWatchLoggingOption -> Bool)
-> (ApplicationCloudWatchLoggingOption
    -> ApplicationCloudWatchLoggingOption -> Bool)
-> Eq ApplicationCloudWatchLoggingOption
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption -> Bool
== :: ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption -> Bool
$c/= :: ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption -> Bool
/= :: ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption -> Bool
Prelude.Eq, Int -> ApplicationCloudWatchLoggingOption -> ShowS
[ApplicationCloudWatchLoggingOption] -> ShowS
ApplicationCloudWatchLoggingOption -> String
(Int -> ApplicationCloudWatchLoggingOption -> ShowS)
-> (ApplicationCloudWatchLoggingOption -> String)
-> ([ApplicationCloudWatchLoggingOption] -> ShowS)
-> Show ApplicationCloudWatchLoggingOption
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ApplicationCloudWatchLoggingOption -> ShowS
showsPrec :: Int -> ApplicationCloudWatchLoggingOption -> ShowS
$cshow :: ApplicationCloudWatchLoggingOption -> String
show :: ApplicationCloudWatchLoggingOption -> String
$cshowList :: [ApplicationCloudWatchLoggingOption] -> ShowS
showList :: [ApplicationCloudWatchLoggingOption] -> ShowS
Prelude.Show)
mkApplicationCloudWatchLoggingOption ::
  Value Prelude.Text
  -> CloudWatchLoggingOptionProperty
     -> ApplicationCloudWatchLoggingOption
mkApplicationCloudWatchLoggingOption :: Value Text
-> CloudWatchLoggingOptionProperty
-> ApplicationCloudWatchLoggingOption
mkApplicationCloudWatchLoggingOption
  Value Text
applicationName
  CloudWatchLoggingOptionProperty
cloudWatchLoggingOption
  = ApplicationCloudWatchLoggingOption
      {haddock_workaround_ :: ()
haddock_workaround_ = (), applicationName :: Value Text
applicationName = Value Text
applicationName,
       cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
cloudWatchLoggingOption = CloudWatchLoggingOptionProperty
cloudWatchLoggingOption}
instance ToResourceProperties ApplicationCloudWatchLoggingOption where
  toResourceProperties :: ApplicationCloudWatchLoggingOption -> ResourceProperties
toResourceProperties ApplicationCloudWatchLoggingOption {()
Value Text
CloudWatchLoggingOptionProperty
haddock_workaround_ :: ApplicationCloudWatchLoggingOption -> ()
applicationName :: ApplicationCloudWatchLoggingOption -> Value Text
cloudWatchLoggingOption :: ApplicationCloudWatchLoggingOption
-> CloudWatchLoggingOptionProperty
haddock_workaround_ :: ()
applicationName :: Value Text
cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ApplicationName" 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
applicationName,
                       Key
"CloudWatchLoggingOption" Key -> CloudWatchLoggingOptionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CloudWatchLoggingOptionProperty
cloudWatchLoggingOption]}
instance JSON.ToJSON ApplicationCloudWatchLoggingOption where
  toJSON :: ApplicationCloudWatchLoggingOption -> Value
toJSON ApplicationCloudWatchLoggingOption {()
Value Text
CloudWatchLoggingOptionProperty
haddock_workaround_ :: ApplicationCloudWatchLoggingOption -> ()
applicationName :: ApplicationCloudWatchLoggingOption -> Value Text
cloudWatchLoggingOption :: ApplicationCloudWatchLoggingOption
-> CloudWatchLoggingOptionProperty
haddock_workaround_ :: ()
applicationName :: Value Text
cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ApplicationName" 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
applicationName,
         Key
"CloudWatchLoggingOption" Key -> CloudWatchLoggingOptionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CloudWatchLoggingOptionProperty
cloudWatchLoggingOption]
instance Property "ApplicationName" ApplicationCloudWatchLoggingOption where
  type PropertyType "ApplicationName" ApplicationCloudWatchLoggingOption = Value Prelude.Text
  set :: PropertyType "ApplicationName" ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption
set PropertyType "ApplicationName" ApplicationCloudWatchLoggingOption
newValue ApplicationCloudWatchLoggingOption {()
Value Text
CloudWatchLoggingOptionProperty
haddock_workaround_ :: ApplicationCloudWatchLoggingOption -> ()
applicationName :: ApplicationCloudWatchLoggingOption -> Value Text
cloudWatchLoggingOption :: ApplicationCloudWatchLoggingOption
-> CloudWatchLoggingOptionProperty
haddock_workaround_ :: ()
applicationName :: Value Text
cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
..}
    = ApplicationCloudWatchLoggingOption
        {applicationName :: Value Text
applicationName = PropertyType "ApplicationName" ApplicationCloudWatchLoggingOption
Value Text
newValue, ()
CloudWatchLoggingOptionProperty
haddock_workaround_ :: ()
cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
haddock_workaround_ :: ()
cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
..}
instance Property "CloudWatchLoggingOption" ApplicationCloudWatchLoggingOption where
  type PropertyType "CloudWatchLoggingOption" ApplicationCloudWatchLoggingOption = CloudWatchLoggingOptionProperty
  set :: PropertyType
  "CloudWatchLoggingOption" ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption
-> ApplicationCloudWatchLoggingOption
set PropertyType
  "CloudWatchLoggingOption" ApplicationCloudWatchLoggingOption
newValue ApplicationCloudWatchLoggingOption {()
Value Text
CloudWatchLoggingOptionProperty
haddock_workaround_ :: ApplicationCloudWatchLoggingOption -> ()
applicationName :: ApplicationCloudWatchLoggingOption -> Value Text
cloudWatchLoggingOption :: ApplicationCloudWatchLoggingOption
-> CloudWatchLoggingOptionProperty
haddock_workaround_ :: ()
applicationName :: Value Text
cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
..}
    = ApplicationCloudWatchLoggingOption
        {cloudWatchLoggingOption :: CloudWatchLoggingOptionProperty
cloudWatchLoggingOption = PropertyType
  "CloudWatchLoggingOption" ApplicationCloudWatchLoggingOption
CloudWatchLoggingOptionProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
applicationName :: Value Text
haddock_workaround_ :: ()
applicationName :: Value Text
..}