module Stratosphere.IoTAnalytics.Datastore.DatastorePartitionProperty (
module Exports, DatastorePartitionProperty(..),
mkDatastorePartitionProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.IoTAnalytics.Datastore.PartitionProperty as Exports
import {-# SOURCE #-} Stratosphere.IoTAnalytics.Datastore.TimestampPartitionProperty as Exports
import Stratosphere.ResourceProperties
data DatastorePartitionProperty
=
DatastorePartitionProperty {DatastorePartitionProperty -> ()
haddock_workaround_ :: (),
DatastorePartitionProperty -> Maybe PartitionProperty
partition :: (Prelude.Maybe PartitionProperty),
DatastorePartitionProperty -> Maybe TimestampPartitionProperty
timestampPartition :: (Prelude.Maybe TimestampPartitionProperty)}
deriving stock (DatastorePartitionProperty -> DatastorePartitionProperty -> Bool
(DatastorePartitionProperty -> DatastorePartitionProperty -> Bool)
-> (DatastorePartitionProperty
-> DatastorePartitionProperty -> Bool)
-> Eq DatastorePartitionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DatastorePartitionProperty -> DatastorePartitionProperty -> Bool
== :: DatastorePartitionProperty -> DatastorePartitionProperty -> Bool
$c/= :: DatastorePartitionProperty -> DatastorePartitionProperty -> Bool
/= :: DatastorePartitionProperty -> DatastorePartitionProperty -> Bool
Prelude.Eq, Int -> DatastorePartitionProperty -> ShowS
[DatastorePartitionProperty] -> ShowS
DatastorePartitionProperty -> String
(Int -> DatastorePartitionProperty -> ShowS)
-> (DatastorePartitionProperty -> String)
-> ([DatastorePartitionProperty] -> ShowS)
-> Show DatastorePartitionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DatastorePartitionProperty -> ShowS
showsPrec :: Int -> DatastorePartitionProperty -> ShowS
$cshow :: DatastorePartitionProperty -> String
show :: DatastorePartitionProperty -> String
$cshowList :: [DatastorePartitionProperty] -> ShowS
showList :: [DatastorePartitionProperty] -> ShowS
Prelude.Show)
mkDatastorePartitionProperty :: DatastorePartitionProperty
mkDatastorePartitionProperty :: DatastorePartitionProperty
mkDatastorePartitionProperty
= DatastorePartitionProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), partition :: Maybe PartitionProperty
partition = Maybe PartitionProperty
forall a. Maybe a
Prelude.Nothing,
timestampPartition :: Maybe TimestampPartitionProperty
timestampPartition = Maybe TimestampPartitionProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties DatastorePartitionProperty where
toResourceProperties :: DatastorePartitionProperty -> ResourceProperties
toResourceProperties DatastorePartitionProperty {Maybe PartitionProperty
Maybe TimestampPartitionProperty
()
haddock_workaround_ :: DatastorePartitionProperty -> ()
partition :: DatastorePartitionProperty -> Maybe PartitionProperty
timestampPartition :: DatastorePartitionProperty -> Maybe TimestampPartitionProperty
haddock_workaround_ :: ()
partition :: Maybe PartitionProperty
timestampPartition :: Maybe TimestampPartitionProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::IoTAnalytics::Datastore.DatastorePartition",
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 -> PartitionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Partition" (PartitionProperty -> (Key, Value))
-> Maybe PartitionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PartitionProperty
partition,
Key -> TimestampPartitionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimestampPartition" (TimestampPartitionProperty -> (Key, Value))
-> Maybe TimestampPartitionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimestampPartitionProperty
timestampPartition])}
instance JSON.ToJSON DatastorePartitionProperty where
toJSON :: DatastorePartitionProperty -> Value
toJSON DatastorePartitionProperty {Maybe PartitionProperty
Maybe TimestampPartitionProperty
()
haddock_workaround_ :: DatastorePartitionProperty -> ()
partition :: DatastorePartitionProperty -> Maybe PartitionProperty
timestampPartition :: DatastorePartitionProperty -> Maybe TimestampPartitionProperty
haddock_workaround_ :: ()
partition :: Maybe PartitionProperty
timestampPartition :: Maybe TimestampPartitionProperty
..}
= [(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 -> PartitionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Partition" (PartitionProperty -> (Key, Value))
-> Maybe PartitionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PartitionProperty
partition,
Key -> TimestampPartitionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"TimestampPartition" (TimestampPartitionProperty -> (Key, Value))
-> Maybe TimestampPartitionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TimestampPartitionProperty
timestampPartition]))
instance Property "Partition" DatastorePartitionProperty where
type PropertyType "Partition" DatastorePartitionProperty = PartitionProperty
set :: PropertyType "Partition" DatastorePartitionProperty
-> DatastorePartitionProperty -> DatastorePartitionProperty
set PropertyType "Partition" DatastorePartitionProperty
newValue DatastorePartitionProperty {Maybe PartitionProperty
Maybe TimestampPartitionProperty
()
haddock_workaround_ :: DatastorePartitionProperty -> ()
partition :: DatastorePartitionProperty -> Maybe PartitionProperty
timestampPartition :: DatastorePartitionProperty -> Maybe TimestampPartitionProperty
haddock_workaround_ :: ()
partition :: Maybe PartitionProperty
timestampPartition :: Maybe TimestampPartitionProperty
..}
= DatastorePartitionProperty
{partition :: Maybe PartitionProperty
partition = PartitionProperty -> Maybe PartitionProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Partition" DatastorePartitionProperty
PartitionProperty
newValue, Maybe TimestampPartitionProperty
()
haddock_workaround_ :: ()
timestampPartition :: Maybe TimestampPartitionProperty
haddock_workaround_ :: ()
timestampPartition :: Maybe TimestampPartitionProperty
..}
instance Property "TimestampPartition" DatastorePartitionProperty where
type PropertyType "TimestampPartition" DatastorePartitionProperty = TimestampPartitionProperty
set :: PropertyType "TimestampPartition" DatastorePartitionProperty
-> DatastorePartitionProperty -> DatastorePartitionProperty
set PropertyType "TimestampPartition" DatastorePartitionProperty
newValue DatastorePartitionProperty {Maybe PartitionProperty
Maybe TimestampPartitionProperty
()
haddock_workaround_ :: DatastorePartitionProperty -> ()
partition :: DatastorePartitionProperty -> Maybe PartitionProperty
timestampPartition :: DatastorePartitionProperty -> Maybe TimestampPartitionProperty
haddock_workaround_ :: ()
partition :: Maybe PartitionProperty
timestampPartition :: Maybe TimestampPartitionProperty
..}
= DatastorePartitionProperty
{timestampPartition :: Maybe TimestampPartitionProperty
timestampPartition = TimestampPartitionProperty -> Maybe TimestampPartitionProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TimestampPartition" DatastorePartitionProperty
TimestampPartitionProperty
newValue, Maybe PartitionProperty
()
haddock_workaround_ :: ()
partition :: Maybe PartitionProperty
haddock_workaround_ :: ()
partition :: Maybe PartitionProperty
..}