module Stratosphere.IoTSiteWise.Gateway.GatewayPlatformProperty (
module Exports, GatewayPlatformProperty(..),
mkGatewayPlatformProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.IoTSiteWise.Gateway.GreengrassV2Property as Exports
import {-# SOURCE #-} Stratosphere.IoTSiteWise.Gateway.SiemensIEProperty as Exports
import Stratosphere.ResourceProperties
data GatewayPlatformProperty
=
GatewayPlatformProperty {GatewayPlatformProperty -> ()
haddock_workaround_ :: (),
GatewayPlatformProperty -> Maybe GreengrassV2Property
greengrassV2 :: (Prelude.Maybe GreengrassV2Property),
GatewayPlatformProperty -> Maybe SiemensIEProperty
siemensIE :: (Prelude.Maybe SiemensIEProperty)}
deriving stock (GatewayPlatformProperty -> GatewayPlatformProperty -> Bool
(GatewayPlatformProperty -> GatewayPlatformProperty -> Bool)
-> (GatewayPlatformProperty -> GatewayPlatformProperty -> Bool)
-> Eq GatewayPlatformProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GatewayPlatformProperty -> GatewayPlatformProperty -> Bool
== :: GatewayPlatformProperty -> GatewayPlatformProperty -> Bool
$c/= :: GatewayPlatformProperty -> GatewayPlatformProperty -> Bool
/= :: GatewayPlatformProperty -> GatewayPlatformProperty -> Bool
Prelude.Eq, Int -> GatewayPlatformProperty -> ShowS
[GatewayPlatformProperty] -> ShowS
GatewayPlatformProperty -> String
(Int -> GatewayPlatformProperty -> ShowS)
-> (GatewayPlatformProperty -> String)
-> ([GatewayPlatformProperty] -> ShowS)
-> Show GatewayPlatformProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GatewayPlatformProperty -> ShowS
showsPrec :: Int -> GatewayPlatformProperty -> ShowS
$cshow :: GatewayPlatformProperty -> String
show :: GatewayPlatformProperty -> String
$cshowList :: [GatewayPlatformProperty] -> ShowS
showList :: [GatewayPlatformProperty] -> ShowS
Prelude.Show)
mkGatewayPlatformProperty :: GatewayPlatformProperty
mkGatewayPlatformProperty :: GatewayPlatformProperty
mkGatewayPlatformProperty
= GatewayPlatformProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), greengrassV2 :: Maybe GreengrassV2Property
greengrassV2 = Maybe GreengrassV2Property
forall a. Maybe a
Prelude.Nothing,
siemensIE :: Maybe SiemensIEProperty
siemensIE = Maybe SiemensIEProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties GatewayPlatformProperty where
toResourceProperties :: GatewayPlatformProperty -> ResourceProperties
toResourceProperties GatewayPlatformProperty {Maybe GreengrassV2Property
Maybe SiemensIEProperty
()
haddock_workaround_ :: GatewayPlatformProperty -> ()
greengrassV2 :: GatewayPlatformProperty -> Maybe GreengrassV2Property
siemensIE :: GatewayPlatformProperty -> Maybe SiemensIEProperty
haddock_workaround_ :: ()
greengrassV2 :: Maybe GreengrassV2Property
siemensIE :: Maybe SiemensIEProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::IoTSiteWise::Gateway.GatewayPlatform",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> GreengrassV2Property -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"GreengrassV2" (GreengrassV2Property -> (Key, Value))
-> Maybe GreengrassV2Property -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GreengrassV2Property
greengrassV2,
Key -> SiemensIEProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SiemensIE" (SiemensIEProperty -> (Key, Value))
-> Maybe SiemensIEProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SiemensIEProperty
siemensIE])}
instance JSON.ToJSON GatewayPlatformProperty where
toJSON :: GatewayPlatformProperty -> Value
toJSON GatewayPlatformProperty {Maybe GreengrassV2Property
Maybe SiemensIEProperty
()
haddock_workaround_ :: GatewayPlatformProperty -> ()
greengrassV2 :: GatewayPlatformProperty -> Maybe GreengrassV2Property
siemensIE :: GatewayPlatformProperty -> Maybe SiemensIEProperty
haddock_workaround_ :: ()
greengrassV2 :: Maybe GreengrassV2Property
siemensIE :: Maybe SiemensIEProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> GreengrassV2Property -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"GreengrassV2" (GreengrassV2Property -> (Key, Value))
-> Maybe GreengrassV2Property -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GreengrassV2Property
greengrassV2,
Key -> SiemensIEProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SiemensIE" (SiemensIEProperty -> (Key, Value))
-> Maybe SiemensIEProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SiemensIEProperty
siemensIE]))
instance Property "GreengrassV2" GatewayPlatformProperty where
type PropertyType "GreengrassV2" GatewayPlatformProperty = GreengrassV2Property
set :: PropertyType "GreengrassV2" GatewayPlatformProperty
-> GatewayPlatformProperty -> GatewayPlatformProperty
set PropertyType "GreengrassV2" GatewayPlatformProperty
newValue GatewayPlatformProperty {Maybe GreengrassV2Property
Maybe SiemensIEProperty
()
haddock_workaround_ :: GatewayPlatformProperty -> ()
greengrassV2 :: GatewayPlatformProperty -> Maybe GreengrassV2Property
siemensIE :: GatewayPlatformProperty -> Maybe SiemensIEProperty
haddock_workaround_ :: ()
greengrassV2 :: Maybe GreengrassV2Property
siemensIE :: Maybe SiemensIEProperty
..}
= GatewayPlatformProperty
{greengrassV2 :: Maybe GreengrassV2Property
greengrassV2 = GreengrassV2Property -> Maybe GreengrassV2Property
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "GreengrassV2" GatewayPlatformProperty
GreengrassV2Property
newValue, Maybe SiemensIEProperty
()
haddock_workaround_ :: ()
siemensIE :: Maybe SiemensIEProperty
haddock_workaround_ :: ()
siemensIE :: Maybe SiemensIEProperty
..}
instance Property "SiemensIE" GatewayPlatformProperty where
type PropertyType "SiemensIE" GatewayPlatformProperty = SiemensIEProperty
set :: PropertyType "SiemensIE" GatewayPlatformProperty
-> GatewayPlatformProperty -> GatewayPlatformProperty
set PropertyType "SiemensIE" GatewayPlatformProperty
newValue GatewayPlatformProperty {Maybe GreengrassV2Property
Maybe SiemensIEProperty
()
haddock_workaround_ :: GatewayPlatformProperty -> ()
greengrassV2 :: GatewayPlatformProperty -> Maybe GreengrassV2Property
siemensIE :: GatewayPlatformProperty -> Maybe SiemensIEProperty
haddock_workaround_ :: ()
greengrassV2 :: Maybe GreengrassV2Property
siemensIE :: Maybe SiemensIEProperty
..}
= GatewayPlatformProperty {siemensIE :: Maybe SiemensIEProperty
siemensIE = SiemensIEProperty -> Maybe SiemensIEProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "SiemensIE" GatewayPlatformProperty
SiemensIEProperty
newValue, Maybe GreengrassV2Property
()
haddock_workaround_ :: ()
greengrassV2 :: Maybe GreengrassV2Property
haddock_workaround_ :: ()
greengrassV2 :: Maybe GreengrassV2Property
..}