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