module Stratosphere.KinesisAnalyticsV2.Application.DeployAsApplicationConfigurationProperty (
        module Exports, DeployAsApplicationConfigurationProperty(..),
        mkDeployAsApplicationConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.KinesisAnalyticsV2.Application.S3ContentBaseLocationProperty as Exports
import Stratosphere.ResourceProperties
data DeployAsApplicationConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-deployasapplicationconfiguration.html>
    DeployAsApplicationConfigurationProperty {DeployAsApplicationConfigurationProperty -> ()
haddock_workaround_ :: (),
                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-deployasapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-deployasapplicationconfiguration-s3contentlocation>
                                              DeployAsApplicationConfigurationProperty
-> S3ContentBaseLocationProperty
s3ContentLocation :: S3ContentBaseLocationProperty}
  deriving stock (DeployAsApplicationConfigurationProperty
-> DeployAsApplicationConfigurationProperty -> Bool
(DeployAsApplicationConfigurationProperty
 -> DeployAsApplicationConfigurationProperty -> Bool)
-> (DeployAsApplicationConfigurationProperty
    -> DeployAsApplicationConfigurationProperty -> Bool)
-> Eq DeployAsApplicationConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeployAsApplicationConfigurationProperty
-> DeployAsApplicationConfigurationProperty -> Bool
== :: DeployAsApplicationConfigurationProperty
-> DeployAsApplicationConfigurationProperty -> Bool
$c/= :: DeployAsApplicationConfigurationProperty
-> DeployAsApplicationConfigurationProperty -> Bool
/= :: DeployAsApplicationConfigurationProperty
-> DeployAsApplicationConfigurationProperty -> Bool
Prelude.Eq, Int -> DeployAsApplicationConfigurationProperty -> ShowS
[DeployAsApplicationConfigurationProperty] -> ShowS
DeployAsApplicationConfigurationProperty -> String
(Int -> DeployAsApplicationConfigurationProperty -> ShowS)
-> (DeployAsApplicationConfigurationProperty -> String)
-> ([DeployAsApplicationConfigurationProperty] -> ShowS)
-> Show DeployAsApplicationConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DeployAsApplicationConfigurationProperty -> ShowS
showsPrec :: Int -> DeployAsApplicationConfigurationProperty -> ShowS
$cshow :: DeployAsApplicationConfigurationProperty -> String
show :: DeployAsApplicationConfigurationProperty -> String
$cshowList :: [DeployAsApplicationConfigurationProperty] -> ShowS
showList :: [DeployAsApplicationConfigurationProperty] -> ShowS
Prelude.Show)
mkDeployAsApplicationConfigurationProperty ::
  S3ContentBaseLocationProperty
  -> DeployAsApplicationConfigurationProperty
mkDeployAsApplicationConfigurationProperty :: S3ContentBaseLocationProperty
-> DeployAsApplicationConfigurationProperty
mkDeployAsApplicationConfigurationProperty S3ContentBaseLocationProperty
s3ContentLocation
  = DeployAsApplicationConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), s3ContentLocation :: S3ContentBaseLocationProperty
s3ContentLocation = S3ContentBaseLocationProperty
s3ContentLocation}
instance ToResourceProperties DeployAsApplicationConfigurationProperty where
  toResourceProperties :: DeployAsApplicationConfigurationProperty -> ResourceProperties
toResourceProperties DeployAsApplicationConfigurationProperty {()
S3ContentBaseLocationProperty
haddock_workaround_ :: DeployAsApplicationConfigurationProperty -> ()
s3ContentLocation :: DeployAsApplicationConfigurationProperty
-> S3ContentBaseLocationProperty
haddock_workaround_ :: ()
s3ContentLocation :: S3ContentBaseLocationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"S3ContentLocation" Key -> S3ContentBaseLocationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= S3ContentBaseLocationProperty
s3ContentLocation]}
instance JSON.ToJSON DeployAsApplicationConfigurationProperty where
  toJSON :: DeployAsApplicationConfigurationProperty -> Value
toJSON DeployAsApplicationConfigurationProperty {()
S3ContentBaseLocationProperty
haddock_workaround_ :: DeployAsApplicationConfigurationProperty -> ()
s3ContentLocation :: DeployAsApplicationConfigurationProperty
-> S3ContentBaseLocationProperty
haddock_workaround_ :: ()
s3ContentLocation :: S3ContentBaseLocationProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"S3ContentLocation" Key -> S3ContentBaseLocationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= S3ContentBaseLocationProperty
s3ContentLocation]
instance Property "S3ContentLocation" DeployAsApplicationConfigurationProperty where
  type PropertyType "S3ContentLocation" DeployAsApplicationConfigurationProperty = S3ContentBaseLocationProperty
  set :: PropertyType
  "S3ContentLocation" DeployAsApplicationConfigurationProperty
-> DeployAsApplicationConfigurationProperty
-> DeployAsApplicationConfigurationProperty
set PropertyType
  "S3ContentLocation" DeployAsApplicationConfigurationProperty
newValue DeployAsApplicationConfigurationProperty {()
S3ContentBaseLocationProperty
haddock_workaround_ :: DeployAsApplicationConfigurationProperty -> ()
s3ContentLocation :: DeployAsApplicationConfigurationProperty
-> S3ContentBaseLocationProperty
haddock_workaround_ :: ()
s3ContentLocation :: S3ContentBaseLocationProperty
..}
    = DeployAsApplicationConfigurationProperty
        {s3ContentLocation :: S3ContentBaseLocationProperty
s3ContentLocation = PropertyType
  "S3ContentLocation" DeployAsApplicationConfigurationProperty
S3ContentBaseLocationProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}