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