module Stratosphere.Timestream.Table (
module Exports, Table(..), mkTable
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Timestream.Table.MagneticStoreWritePropertiesProperty as Exports
import {-# SOURCE #-} Stratosphere.Timestream.Table.RetentionPropertiesProperty as Exports
import {-# SOURCE #-} Stratosphere.Timestream.Table.SchemaProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Tag
import Stratosphere.Value
data Table
=
Table {Table -> ()
haddock_workaround_ :: (),
Table -> Value Text
databaseName :: (Value Prelude.Text),
Table -> Maybe MagneticStoreWritePropertiesProperty
magneticStoreWriteProperties :: (Prelude.Maybe MagneticStoreWritePropertiesProperty),
Table -> Maybe RetentionPropertiesProperty
retentionProperties :: (Prelude.Maybe RetentionPropertiesProperty),
Table -> Maybe SchemaProperty
schema :: (Prelude.Maybe SchemaProperty),
Table -> Maybe (Value Text)
tableName :: (Prelude.Maybe (Value Prelude.Text)),
Table -> Maybe [Tag]
tags :: (Prelude.Maybe [Tag])}
deriving stock (Table -> Table -> Bool
(Table -> Table -> Bool) -> (Table -> Table -> Bool) -> Eq Table
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Table -> Table -> Bool
== :: Table -> Table -> Bool
$c/= :: Table -> Table -> Bool
/= :: Table -> Table -> Bool
Prelude.Eq, Int -> Table -> ShowS
[Table] -> ShowS
Table -> String
(Int -> Table -> ShowS)
-> (Table -> String) -> ([Table] -> ShowS) -> Show Table
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Table -> ShowS
showsPrec :: Int -> Table -> ShowS
$cshow :: Table -> String
show :: Table -> String
$cshowList :: [Table] -> ShowS
showList :: [Table] -> ShowS
Prelude.Show)
mkTable :: Value Prelude.Text -> Table
mkTable :: Value Text -> Table
mkTable Value Text
databaseName
= Table
{haddock_workaround_ :: ()
haddock_workaround_ = (), databaseName :: Value Text
databaseName = Value Text
databaseName,
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
magneticStoreWriteProperties = Maybe MagneticStoreWritePropertiesProperty
forall a. Maybe a
Prelude.Nothing,
retentionProperties :: Maybe RetentionPropertiesProperty
retentionProperties = Maybe RetentionPropertiesProperty
forall a. Maybe a
Prelude.Nothing, schema :: Maybe SchemaProperty
schema = Maybe SchemaProperty
forall a. Maybe a
Prelude.Nothing,
tableName :: Maybe (Value Text)
tableName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, tags :: Maybe [Tag]
tags = Maybe [Tag]
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties Table where
toResourceProperties :: Table -> ResourceProperties
toResourceProperties Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::Timestream::Table", supportsTags :: Bool
supportsTags = Bool
Prelude.True,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"DatabaseName" 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
databaseName]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> MagneticStoreWritePropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MagneticStoreWriteProperties"
(MagneticStoreWritePropertiesProperty -> (Key, Value))
-> Maybe MagneticStoreWritePropertiesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MagneticStoreWritePropertiesProperty
magneticStoreWriteProperties,
Key -> RetentionPropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"RetentionProperties" (RetentionPropertiesProperty -> (Key, Value))
-> Maybe RetentionPropertiesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RetentionPropertiesProperty
retentionProperties,
Key -> SchemaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Schema" (SchemaProperty -> (Key, Value))
-> Maybe SchemaProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SchemaProperty
schema,
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..=) Key
"TableName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
tableName,
Key -> [Tag] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" ([Tag] -> (Key, Value)) -> Maybe [Tag] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags]))}
instance JSON.ToJSON Table where
toJSON :: Table -> Value
toJSON Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"DatabaseName" 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
databaseName]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> MagneticStoreWritePropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MagneticStoreWriteProperties"
(MagneticStoreWritePropertiesProperty -> (Key, Value))
-> Maybe MagneticStoreWritePropertiesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MagneticStoreWritePropertiesProperty
magneticStoreWriteProperties,
Key -> RetentionPropertiesProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"RetentionProperties" (RetentionPropertiesProperty -> (Key, Value))
-> Maybe RetentionPropertiesProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RetentionPropertiesProperty
retentionProperties,
Key -> SchemaProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Schema" (SchemaProperty -> (Key, Value))
-> Maybe SchemaProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SchemaProperty
schema,
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..=) Key
"TableName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
tableName,
Key -> [Tag] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" ([Tag] -> (Key, Value)) -> Maybe [Tag] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags])))
instance Property "DatabaseName" Table where
type PropertyType "DatabaseName" Table = Value Prelude.Text
set :: PropertyType "DatabaseName" Table -> Table -> Table
set PropertyType "DatabaseName" Table
newValue Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..} = Table {databaseName :: Value Text
databaseName = PropertyType "DatabaseName" Table
Value Text
newValue, Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
haddock_workaround_ :: ()
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
haddock_workaround_ :: ()
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
instance Property "MagneticStoreWriteProperties" Table where
type PropertyType "MagneticStoreWriteProperties" Table = MagneticStoreWritePropertiesProperty
set :: PropertyType "MagneticStoreWriteProperties" Table -> Table -> Table
set PropertyType "MagneticStoreWriteProperties" Table
newValue Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
= Table {magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
magneticStoreWriteProperties = MagneticStoreWritePropertiesProperty
-> Maybe MagneticStoreWritePropertiesProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "MagneticStoreWriteProperties" Table
MagneticStoreWritePropertiesProperty
newValue, Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
instance Property "RetentionProperties" Table where
type PropertyType "RetentionProperties" Table = RetentionPropertiesProperty
set :: PropertyType "RetentionProperties" Table -> Table -> Table
set PropertyType "RetentionProperties" Table
newValue Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
= Table {retentionProperties :: Maybe RetentionPropertiesProperty
retentionProperties = RetentionPropertiesProperty -> Maybe RetentionPropertiesProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "RetentionProperties" Table
RetentionPropertiesProperty
newValue, Maybe [Tag]
Maybe (Value Text)
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
instance Property "Schema" Table where
type PropertyType "Schema" Table = SchemaProperty
set :: PropertyType "Schema" Table -> Table -> Table
set PropertyType "Schema" Table
newValue Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
= Table {schema :: Maybe SchemaProperty
schema = SchemaProperty -> Maybe SchemaProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Schema" Table
SchemaProperty
newValue, Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
instance Property "TableName" Table where
type PropertyType "TableName" Table = Value Prelude.Text
set :: PropertyType "TableName" Table -> Table -> Table
set PropertyType "TableName" Table
newValue Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..}
= Table {tableName :: Maybe (Value Text)
tableName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "TableName" Table
Value Text
newValue, Maybe [Tag]
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tags :: Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tags :: Maybe [Tag]
..}
instance Property "Tags" Table where
type PropertyType "Tags" Table = [Tag]
set :: PropertyType "Tags" Table -> Table -> Table
set PropertyType "Tags" Table
newValue Table {Maybe [Tag]
Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: Table -> ()
databaseName :: Table -> Value Text
magneticStoreWriteProperties :: Table -> Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Table -> Maybe RetentionPropertiesProperty
schema :: Table -> Maybe SchemaProperty
tableName :: Table -> Maybe (Value Text)
tags :: Table -> Maybe [Tag]
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
tags :: Maybe [Tag]
..} = Table {tags :: Maybe [Tag]
tags = [Tag] -> Maybe [Tag]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [Tag]
PropertyType "Tags" Table
newValue, Maybe (Value Text)
Maybe RetentionPropertiesProperty
Maybe MagneticStoreWritePropertiesProperty
Maybe SchemaProperty
()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
haddock_workaround_ :: ()
databaseName :: Value Text
magneticStoreWriteProperties :: Maybe MagneticStoreWritePropertiesProperty
retentionProperties :: Maybe RetentionPropertiesProperty
schema :: Maybe SchemaProperty
tableName :: Maybe (Value Text)
..}