module Stratosphere.AmazonMQ.ConfigurationAssociation.ConfigurationIdProperty (
        ConfigurationIdProperty(..), mkConfigurationIdProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ConfigurationIdProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html>
    ConfigurationIdProperty {ConfigurationIdProperty -> ()
haddock_workaround_ :: (),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html#cfn-amazonmq-configurationassociation-configurationid-id>
                             ConfigurationIdProperty -> Value Text
id :: (Value Prelude.Text),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html#cfn-amazonmq-configurationassociation-configurationid-revision>
                             ConfigurationIdProperty -> Value Integer
revision :: (Value Prelude.Integer)}
  deriving stock (ConfigurationIdProperty -> ConfigurationIdProperty -> Bool
(ConfigurationIdProperty -> ConfigurationIdProperty -> Bool)
-> (ConfigurationIdProperty -> ConfigurationIdProperty -> Bool)
-> Eq ConfigurationIdProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConfigurationIdProperty -> ConfigurationIdProperty -> Bool
== :: ConfigurationIdProperty -> ConfigurationIdProperty -> Bool
$c/= :: ConfigurationIdProperty -> ConfigurationIdProperty -> Bool
/= :: ConfigurationIdProperty -> ConfigurationIdProperty -> Bool
Prelude.Eq, Int -> ConfigurationIdProperty -> ShowS
[ConfigurationIdProperty] -> ShowS
ConfigurationIdProperty -> String
(Int -> ConfigurationIdProperty -> ShowS)
-> (ConfigurationIdProperty -> String)
-> ([ConfigurationIdProperty] -> ShowS)
-> Show ConfigurationIdProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConfigurationIdProperty -> ShowS
showsPrec :: Int -> ConfigurationIdProperty -> ShowS
$cshow :: ConfigurationIdProperty -> String
show :: ConfigurationIdProperty -> String
$cshowList :: [ConfigurationIdProperty] -> ShowS
showList :: [ConfigurationIdProperty] -> ShowS
Prelude.Show)
mkConfigurationIdProperty ::
  Value Prelude.Text
  -> Value Prelude.Integer -> ConfigurationIdProperty
mkConfigurationIdProperty :: Value Text -> Value Integer -> ConfigurationIdProperty
mkConfigurationIdProperty Value Text
id Value Integer
revision
  = ConfigurationIdProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), id :: Value Text
id = Value Text
id, revision :: Value Integer
revision = Value Integer
revision}
instance ToResourceProperties ConfigurationIdProperty where
  toResourceProperties :: ConfigurationIdProperty -> ResourceProperties
toResourceProperties ConfigurationIdProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConfigurationIdProperty -> ()
id :: ConfigurationIdProperty -> Value Text
revision :: ConfigurationIdProperty -> Value Integer
haddock_workaround_ :: ()
id :: Value Text
revision :: Value Integer
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Id" 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
id, Key
"Revision" 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
revision]}
instance JSON.ToJSON ConfigurationIdProperty where
  toJSON :: ConfigurationIdProperty -> Value
toJSON ConfigurationIdProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConfigurationIdProperty -> ()
id :: ConfigurationIdProperty -> Value Text
revision :: ConfigurationIdProperty -> Value Integer
haddock_workaround_ :: ()
id :: Value Text
revision :: Value Integer
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Id" 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
id, Key
"Revision" 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
revision]
instance Property "Id" ConfigurationIdProperty where
  type PropertyType "Id" ConfigurationIdProperty = Value Prelude.Text
  set :: PropertyType "Id" ConfigurationIdProperty
-> ConfigurationIdProperty -> ConfigurationIdProperty
set PropertyType "Id" ConfigurationIdProperty
newValue ConfigurationIdProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConfigurationIdProperty -> ()
id :: ConfigurationIdProperty -> Value Text
revision :: ConfigurationIdProperty -> Value Integer
haddock_workaround_ :: ()
id :: Value Text
revision :: Value Integer
..}
    = ConfigurationIdProperty {id :: Value Text
id = PropertyType "Id" ConfigurationIdProperty
Value Text
newValue, ()
Value Integer
haddock_workaround_ :: ()
revision :: Value Integer
haddock_workaround_ :: ()
revision :: Value Integer
..}
instance Property "Revision" ConfigurationIdProperty where
  type PropertyType "Revision" ConfigurationIdProperty = Value Prelude.Integer
  set :: PropertyType "Revision" ConfigurationIdProperty
-> ConfigurationIdProperty -> ConfigurationIdProperty
set PropertyType "Revision" ConfigurationIdProperty
newValue ConfigurationIdProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConfigurationIdProperty -> ()
id :: ConfigurationIdProperty -> Value Text
revision :: ConfigurationIdProperty -> Value Integer
haddock_workaround_ :: ()
id :: Value Text
revision :: Value Integer
..}
    = ConfigurationIdProperty {revision :: Value Integer
revision = PropertyType "Revision" ConfigurationIdProperty
Value Integer
newValue, ()
Value Text
haddock_workaround_ :: ()
id :: Value Text
haddock_workaround_ :: ()
id :: Value Text
..}