module Stratosphere.KinesisAnalyticsV2.Application.MavenReferenceProperty (
        MavenReferenceProperty(..), mkMavenReferenceProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data MavenReferenceProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mavenreference.html>
    MavenReferenceProperty {MavenReferenceProperty -> ()
haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mavenreference.html#cfn-kinesisanalyticsv2-application-mavenreference-artifactid>
                            MavenReferenceProperty -> Value Text
artifactId :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mavenreference.html#cfn-kinesisanalyticsv2-application-mavenreference-groupid>
                            MavenReferenceProperty -> Value Text
groupId :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mavenreference.html#cfn-kinesisanalyticsv2-application-mavenreference-version>
                            MavenReferenceProperty -> Value Text
version :: (Value Prelude.Text)}
  deriving stock (MavenReferenceProperty -> MavenReferenceProperty -> Bool
(MavenReferenceProperty -> MavenReferenceProperty -> Bool)
-> (MavenReferenceProperty -> MavenReferenceProperty -> Bool)
-> Eq MavenReferenceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MavenReferenceProperty -> MavenReferenceProperty -> Bool
== :: MavenReferenceProperty -> MavenReferenceProperty -> Bool
$c/= :: MavenReferenceProperty -> MavenReferenceProperty -> Bool
/= :: MavenReferenceProperty -> MavenReferenceProperty -> Bool
Prelude.Eq, Int -> MavenReferenceProperty -> ShowS
[MavenReferenceProperty] -> ShowS
MavenReferenceProperty -> String
(Int -> MavenReferenceProperty -> ShowS)
-> (MavenReferenceProperty -> String)
-> ([MavenReferenceProperty] -> ShowS)
-> Show MavenReferenceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MavenReferenceProperty -> ShowS
showsPrec :: Int -> MavenReferenceProperty -> ShowS
$cshow :: MavenReferenceProperty -> String
show :: MavenReferenceProperty -> String
$cshowList :: [MavenReferenceProperty] -> ShowS
showList :: [MavenReferenceProperty] -> ShowS
Prelude.Show)
mkMavenReferenceProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> MavenReferenceProperty
mkMavenReferenceProperty :: Value Text -> Value Text -> Value Text -> MavenReferenceProperty
mkMavenReferenceProperty Value Text
artifactId Value Text
groupId Value Text
version
  = MavenReferenceProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), artifactId :: Value Text
artifactId = Value Text
artifactId,
       groupId :: Value Text
groupId = Value Text
groupId, version :: Value Text
version = Value Text
version}
instance ToResourceProperties MavenReferenceProperty where
  toResourceProperties :: MavenReferenceProperty -> ResourceProperties
toResourceProperties MavenReferenceProperty {()
Value Text
haddock_workaround_ :: MavenReferenceProperty -> ()
artifactId :: MavenReferenceProperty -> Value Text
groupId :: MavenReferenceProperty -> Value Text
version :: MavenReferenceProperty -> Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
groupId :: Value Text
version :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::KinesisAnalyticsV2::Application.MavenReference",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ArtifactId" 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
artifactId,
                       Key
"GroupId" 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
groupId, Key
"Version" 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
version]}
instance JSON.ToJSON MavenReferenceProperty where
  toJSON :: MavenReferenceProperty -> Value
toJSON MavenReferenceProperty {()
Value Text
haddock_workaround_ :: MavenReferenceProperty -> ()
artifactId :: MavenReferenceProperty -> Value Text
groupId :: MavenReferenceProperty -> Value Text
version :: MavenReferenceProperty -> Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
groupId :: Value Text
version :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ArtifactId" 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
artifactId, Key
"GroupId" 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
groupId,
         Key
"Version" 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
version]
instance Property "ArtifactId" MavenReferenceProperty where
  type PropertyType "ArtifactId" MavenReferenceProperty = Value Prelude.Text
  set :: PropertyType "ArtifactId" MavenReferenceProperty
-> MavenReferenceProperty -> MavenReferenceProperty
set PropertyType "ArtifactId" MavenReferenceProperty
newValue MavenReferenceProperty {()
Value Text
haddock_workaround_ :: MavenReferenceProperty -> ()
artifactId :: MavenReferenceProperty -> Value Text
groupId :: MavenReferenceProperty -> Value Text
version :: MavenReferenceProperty -> Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
groupId :: Value Text
version :: Value Text
..}
    = MavenReferenceProperty {artifactId :: Value Text
artifactId = PropertyType "ArtifactId" MavenReferenceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
groupId :: Value Text
version :: Value Text
haddock_workaround_ :: ()
groupId :: Value Text
version :: Value Text
..}
instance Property "GroupId" MavenReferenceProperty where
  type PropertyType "GroupId" MavenReferenceProperty = Value Prelude.Text
  set :: PropertyType "GroupId" MavenReferenceProperty
-> MavenReferenceProperty -> MavenReferenceProperty
set PropertyType "GroupId" MavenReferenceProperty
newValue MavenReferenceProperty {()
Value Text
haddock_workaround_ :: MavenReferenceProperty -> ()
artifactId :: MavenReferenceProperty -> Value Text
groupId :: MavenReferenceProperty -> Value Text
version :: MavenReferenceProperty -> Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
groupId :: Value Text
version :: Value Text
..}
    = MavenReferenceProperty {groupId :: Value Text
groupId = PropertyType "GroupId" MavenReferenceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
version :: Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
version :: Value Text
..}
instance Property "Version" MavenReferenceProperty where
  type PropertyType "Version" MavenReferenceProperty = Value Prelude.Text
  set :: PropertyType "Version" MavenReferenceProperty
-> MavenReferenceProperty -> MavenReferenceProperty
set PropertyType "Version" MavenReferenceProperty
newValue MavenReferenceProperty {()
Value Text
haddock_workaround_ :: MavenReferenceProperty -> ()
artifactId :: MavenReferenceProperty -> Value Text
groupId :: MavenReferenceProperty -> Value Text
version :: MavenReferenceProperty -> Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
groupId :: Value Text
version :: Value Text
..}
    = MavenReferenceProperty {version :: Value Text
version = PropertyType "Version" MavenReferenceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
groupId :: Value Text
haddock_workaround_ :: ()
artifactId :: Value Text
groupId :: Value Text
..}