module Stratosphere.Glue.Table.IcebergInputProperty (
module Exports, IcebergInputProperty(..), mkIcebergInputProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Glue.Table.MetadataOperationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data IcebergInputProperty
=
IcebergInputProperty {IcebergInputProperty -> ()
haddock_workaround_ :: (),
IcebergInputProperty -> Maybe MetadataOperationProperty
metadataOperation :: (Prelude.Maybe MetadataOperationProperty),
IcebergInputProperty -> Maybe MetadataOperationProperty
version :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (IcebergInputProperty -> IcebergInputProperty -> Bool
(IcebergInputProperty -> IcebergInputProperty -> Bool)
-> (IcebergInputProperty -> IcebergInputProperty -> Bool)
-> Eq IcebergInputProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: IcebergInputProperty -> IcebergInputProperty -> Bool
== :: IcebergInputProperty -> IcebergInputProperty -> Bool
$c/= :: IcebergInputProperty -> IcebergInputProperty -> Bool
/= :: IcebergInputProperty -> IcebergInputProperty -> Bool
Prelude.Eq, Int -> IcebergInputProperty -> ShowS
[IcebergInputProperty] -> ShowS
IcebergInputProperty -> String
(Int -> IcebergInputProperty -> ShowS)
-> (IcebergInputProperty -> String)
-> ([IcebergInputProperty] -> ShowS)
-> Show IcebergInputProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> IcebergInputProperty -> ShowS
showsPrec :: Int -> IcebergInputProperty -> ShowS
$cshow :: IcebergInputProperty -> String
show :: IcebergInputProperty -> String
$cshowList :: [IcebergInputProperty] -> ShowS
showList :: [IcebergInputProperty] -> ShowS
Prelude.Show)
mkIcebergInputProperty :: IcebergInputProperty
mkIcebergInputProperty :: IcebergInputProperty
mkIcebergInputProperty
= IcebergInputProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), metadataOperation :: Maybe MetadataOperationProperty
metadataOperation = Maybe MetadataOperationProperty
forall a. Maybe a
Prelude.Nothing,
version :: Maybe MetadataOperationProperty
version = Maybe MetadataOperationProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties IcebergInputProperty where
toResourceProperties :: IcebergInputProperty -> ResourceProperties
toResourceProperties IcebergInputProperty {Maybe MetadataOperationProperty
()
haddock_workaround_ :: IcebergInputProperty -> ()
metadataOperation :: IcebergInputProperty -> Maybe MetadataOperationProperty
version :: IcebergInputProperty -> Maybe MetadataOperationProperty
haddock_workaround_ :: ()
metadataOperation :: Maybe MetadataOperationProperty
version :: Maybe MetadataOperationProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::Glue::Table.IcebergInput",
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 -> MetadataOperationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MetadataOperation" (MetadataOperationProperty -> (Key, Value))
-> Maybe MetadataOperationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MetadataOperationProperty
metadataOperation,
Key -> MetadataOperationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Version" (MetadataOperationProperty -> (Key, Value))
-> Maybe MetadataOperationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MetadataOperationProperty
version])}
instance JSON.ToJSON IcebergInputProperty where
toJSON :: IcebergInputProperty -> Value
toJSON IcebergInputProperty {Maybe MetadataOperationProperty
()
haddock_workaround_ :: IcebergInputProperty -> ()
metadataOperation :: IcebergInputProperty -> Maybe MetadataOperationProperty
version :: IcebergInputProperty -> Maybe MetadataOperationProperty
haddock_workaround_ :: ()
metadataOperation :: Maybe MetadataOperationProperty
version :: Maybe MetadataOperationProperty
..}
= [(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 -> MetadataOperationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"MetadataOperation" (MetadataOperationProperty -> (Key, Value))
-> Maybe MetadataOperationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MetadataOperationProperty
metadataOperation,
Key -> MetadataOperationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Version" (MetadataOperationProperty -> (Key, Value))
-> Maybe MetadataOperationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MetadataOperationProperty
version]))
instance Property "MetadataOperation" IcebergInputProperty where
type PropertyType "MetadataOperation" IcebergInputProperty = MetadataOperationProperty
set :: PropertyType "MetadataOperation" IcebergInputProperty
-> IcebergInputProperty -> IcebergInputProperty
set PropertyType "MetadataOperation" IcebergInputProperty
newValue IcebergInputProperty {Maybe MetadataOperationProperty
()
haddock_workaround_ :: IcebergInputProperty -> ()
metadataOperation :: IcebergInputProperty -> Maybe MetadataOperationProperty
version :: IcebergInputProperty -> Maybe MetadataOperationProperty
haddock_workaround_ :: ()
metadataOperation :: Maybe MetadataOperationProperty
version :: Maybe MetadataOperationProperty
..}
= IcebergInputProperty
{metadataOperation :: Maybe MetadataOperationProperty
metadataOperation = MetadataOperationProperty -> Maybe MetadataOperationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "MetadataOperation" IcebergInputProperty
MetadataOperationProperty
newValue, Maybe MetadataOperationProperty
()
haddock_workaround_ :: ()
version :: Maybe MetadataOperationProperty
haddock_workaround_ :: ()
version :: Maybe MetadataOperationProperty
..}
instance Property "Version" IcebergInputProperty where
type PropertyType "Version" IcebergInputProperty = Value Prelude.Text
set :: PropertyType "Version" IcebergInputProperty
-> IcebergInputProperty -> IcebergInputProperty
set PropertyType "Version" IcebergInputProperty
newValue IcebergInputProperty {Maybe MetadataOperationProperty
()
haddock_workaround_ :: IcebergInputProperty -> ()
metadataOperation :: IcebergInputProperty -> Maybe MetadataOperationProperty
version :: IcebergInputProperty -> Maybe MetadataOperationProperty
haddock_workaround_ :: ()
metadataOperation :: Maybe MetadataOperationProperty
version :: Maybe MetadataOperationProperty
..}
= IcebergInputProperty {version :: Maybe MetadataOperationProperty
version = MetadataOperationProperty -> Maybe MetadataOperationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Version" IcebergInputProperty
MetadataOperationProperty
newValue, Maybe MetadataOperationProperty
()
haddock_workaround_ :: ()
metadataOperation :: Maybe MetadataOperationProperty
haddock_workaround_ :: ()
metadataOperation :: Maybe MetadataOperationProperty
..}