module Stratosphere.IoTSiteWise.ComputationModel.AssetModelPropertyBindingValueProperty (
        AssetModelPropertyBindingValueProperty(..),
        mkAssetModelPropertyBindingValueProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data AssetModelPropertyBindingValueProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue.html>
    AssetModelPropertyBindingValueProperty {AssetModelPropertyBindingValueProperty -> ()
haddock_workaround_ :: (),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue.html#cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-assetmodelid>
                                            AssetModelPropertyBindingValueProperty -> Value Text
assetModelId :: (Value Prelude.Text),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-computationmodel-assetmodelpropertybindingvalue.html#cfn-iotsitewise-computationmodel-assetmodelpropertybindingvalue-propertyid>
                                            AssetModelPropertyBindingValueProperty -> Value Text
propertyId :: (Value Prelude.Text)}
  deriving stock (AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty -> Bool
(AssetModelPropertyBindingValueProperty
 -> AssetModelPropertyBindingValueProperty -> Bool)
-> (AssetModelPropertyBindingValueProperty
    -> AssetModelPropertyBindingValueProperty -> Bool)
-> Eq AssetModelPropertyBindingValueProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty -> Bool
== :: AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty -> Bool
$c/= :: AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty -> Bool
/= :: AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty -> Bool
Prelude.Eq, Int -> AssetModelPropertyBindingValueProperty -> ShowS
[AssetModelPropertyBindingValueProperty] -> ShowS
AssetModelPropertyBindingValueProperty -> String
(Int -> AssetModelPropertyBindingValueProperty -> ShowS)
-> (AssetModelPropertyBindingValueProperty -> String)
-> ([AssetModelPropertyBindingValueProperty] -> ShowS)
-> Show AssetModelPropertyBindingValueProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AssetModelPropertyBindingValueProperty -> ShowS
showsPrec :: Int -> AssetModelPropertyBindingValueProperty -> ShowS
$cshow :: AssetModelPropertyBindingValueProperty -> String
show :: AssetModelPropertyBindingValueProperty -> String
$cshowList :: [AssetModelPropertyBindingValueProperty] -> ShowS
showList :: [AssetModelPropertyBindingValueProperty] -> ShowS
Prelude.Show)
mkAssetModelPropertyBindingValueProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> AssetModelPropertyBindingValueProperty
mkAssetModelPropertyBindingValueProperty :: Value Text -> Value Text -> AssetModelPropertyBindingValueProperty
mkAssetModelPropertyBindingValueProperty Value Text
assetModelId Value Text
propertyId
  = AssetModelPropertyBindingValueProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), assetModelId :: Value Text
assetModelId = Value Text
assetModelId,
       propertyId :: Value Text
propertyId = Value Text
propertyId}
instance ToResourceProperties AssetModelPropertyBindingValueProperty where
  toResourceProperties :: AssetModelPropertyBindingValueProperty -> ResourceProperties
toResourceProperties AssetModelPropertyBindingValueProperty {()
Value Text
haddock_workaround_ :: AssetModelPropertyBindingValueProperty -> ()
assetModelId :: AssetModelPropertyBindingValueProperty -> Value Text
propertyId :: AssetModelPropertyBindingValueProperty -> Value Text
haddock_workaround_ :: ()
assetModelId :: Value Text
propertyId :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::IoTSiteWise::ComputationModel.AssetModelPropertyBindingValue",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"AssetModelId" 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
assetModelId,
                       Key
"PropertyId" 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
propertyId]}
instance JSON.ToJSON AssetModelPropertyBindingValueProperty where
  toJSON :: AssetModelPropertyBindingValueProperty -> Value
toJSON AssetModelPropertyBindingValueProperty {()
Value Text
haddock_workaround_ :: AssetModelPropertyBindingValueProperty -> ()
assetModelId :: AssetModelPropertyBindingValueProperty -> Value Text
propertyId :: AssetModelPropertyBindingValueProperty -> Value Text
haddock_workaround_ :: ()
assetModelId :: Value Text
propertyId :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"AssetModelId" 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
assetModelId,
         Key
"PropertyId" 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
propertyId]
instance Property "AssetModelId" AssetModelPropertyBindingValueProperty where
  type PropertyType "AssetModelId" AssetModelPropertyBindingValueProperty = Value Prelude.Text
  set :: PropertyType "AssetModelId" AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty
set PropertyType "AssetModelId" AssetModelPropertyBindingValueProperty
newValue AssetModelPropertyBindingValueProperty {()
Value Text
haddock_workaround_ :: AssetModelPropertyBindingValueProperty -> ()
assetModelId :: AssetModelPropertyBindingValueProperty -> Value Text
propertyId :: AssetModelPropertyBindingValueProperty -> Value Text
haddock_workaround_ :: ()
assetModelId :: Value Text
propertyId :: Value Text
..}
    = AssetModelPropertyBindingValueProperty
        {assetModelId :: Value Text
assetModelId = PropertyType "AssetModelId" AssetModelPropertyBindingValueProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
propertyId :: Value Text
haddock_workaround_ :: ()
propertyId :: Value Text
..}
instance Property "PropertyId" AssetModelPropertyBindingValueProperty where
  type PropertyType "PropertyId" AssetModelPropertyBindingValueProperty = Value Prelude.Text
  set :: PropertyType "PropertyId" AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty
-> AssetModelPropertyBindingValueProperty
set PropertyType "PropertyId" AssetModelPropertyBindingValueProperty
newValue AssetModelPropertyBindingValueProperty {()
Value Text
haddock_workaround_ :: AssetModelPropertyBindingValueProperty -> ()
assetModelId :: AssetModelPropertyBindingValueProperty -> Value Text
propertyId :: AssetModelPropertyBindingValueProperty -> Value Text
haddock_workaround_ :: ()
assetModelId :: Value Text
propertyId :: Value Text
..}
    = AssetModelPropertyBindingValueProperty
        {propertyId :: Value Text
propertyId = PropertyType "PropertyId" AssetModelPropertyBindingValueProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
assetModelId :: Value Text
haddock_workaround_ :: ()
assetModelId :: Value Text
..}