module Stratosphere.Glue.Crawler.DeltaTargetProperty (
        DeltaTargetProperty(..), mkDeltaTargetProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DeltaTargetProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html>
    DeltaTargetProperty {DeltaTargetProperty -> ()
haddock_workaround_ :: (),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-connectionname>
                         DeltaTargetProperty -> Maybe (Value Text)
connectionName :: (Prelude.Maybe (Value Prelude.Text)),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-createnativedeltatable>
                         DeltaTargetProperty -> Maybe (Value Bool)
createNativeDeltaTable :: (Prelude.Maybe (Value Prelude.Bool)),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-deltatables>
                         DeltaTargetProperty -> Maybe (ValueList Text)
deltaTables :: (Prelude.Maybe (ValueList Prelude.Text)),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-deltatarget.html#cfn-glue-crawler-deltatarget-writemanifest>
                         DeltaTargetProperty -> Maybe (Value Bool)
writeManifest :: (Prelude.Maybe (Value Prelude.Bool))}
  deriving stock (DeltaTargetProperty -> DeltaTargetProperty -> Bool
(DeltaTargetProperty -> DeltaTargetProperty -> Bool)
-> (DeltaTargetProperty -> DeltaTargetProperty -> Bool)
-> Eq DeltaTargetProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeltaTargetProperty -> DeltaTargetProperty -> Bool
== :: DeltaTargetProperty -> DeltaTargetProperty -> Bool
$c/= :: DeltaTargetProperty -> DeltaTargetProperty -> Bool
/= :: DeltaTargetProperty -> DeltaTargetProperty -> Bool
Prelude.Eq, Int -> DeltaTargetProperty -> ShowS
[DeltaTargetProperty] -> ShowS
DeltaTargetProperty -> String
(Int -> DeltaTargetProperty -> ShowS)
-> (DeltaTargetProperty -> String)
-> ([DeltaTargetProperty] -> ShowS)
-> Show DeltaTargetProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DeltaTargetProperty -> ShowS
showsPrec :: Int -> DeltaTargetProperty -> ShowS
$cshow :: DeltaTargetProperty -> String
show :: DeltaTargetProperty -> String
$cshowList :: [DeltaTargetProperty] -> ShowS
showList :: [DeltaTargetProperty] -> ShowS
Prelude.Show)
mkDeltaTargetProperty :: DeltaTargetProperty
mkDeltaTargetProperty :: DeltaTargetProperty
mkDeltaTargetProperty
  = DeltaTargetProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), connectionName :: Maybe (Value Text)
connectionName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       createNativeDeltaTable :: Maybe (Value Bool)
createNativeDeltaTable = Maybe (Value Bool)
forall a. Maybe a
Prelude.Nothing,
       deltaTables :: Maybe (ValueList Text)
deltaTables = Maybe (ValueList Text)
forall a. Maybe a
Prelude.Nothing, writeManifest :: Maybe (Value Bool)
writeManifest = Maybe (Value Bool)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties DeltaTargetProperty where
  toResourceProperties :: DeltaTargetProperty -> ResourceProperties
toResourceProperties DeltaTargetProperty {Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: DeltaTargetProperty -> ()
connectionName :: DeltaTargetProperty -> Maybe (Value Text)
createNativeDeltaTable :: DeltaTargetProperty -> Maybe (Value Bool)
deltaTables :: DeltaTargetProperty -> Maybe (ValueList Text)
writeManifest :: DeltaTargetProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Glue::Crawler.DeltaTarget",
         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 -> 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
"ConnectionName" (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)
connectionName,
                            Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CreateNativeDeltaTable"
                              (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
createNativeDeltaTable,
                            Key -> ValueList 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
"DeltaTables" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
deltaTables,
                            Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"WriteManifest" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
writeManifest])}
instance JSON.ToJSON DeltaTargetProperty where
  toJSON :: DeltaTargetProperty -> Value
toJSON DeltaTargetProperty {Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: DeltaTargetProperty -> ()
connectionName :: DeltaTargetProperty -> Maybe (Value Text)
createNativeDeltaTable :: DeltaTargetProperty -> Maybe (Value Bool)
deltaTables :: DeltaTargetProperty -> Maybe (ValueList Text)
writeManifest :: DeltaTargetProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
    = [(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 -> 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
"ConnectionName" (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)
connectionName,
               Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CreateNativeDeltaTable"
                 (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
createNativeDeltaTable,
               Key -> ValueList 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
"DeltaTables" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
deltaTables,
               Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"WriteManifest" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
writeManifest]))
instance Property "ConnectionName" DeltaTargetProperty where
  type PropertyType "ConnectionName" DeltaTargetProperty = Value Prelude.Text
  set :: PropertyType "ConnectionName" DeltaTargetProperty
-> DeltaTargetProperty -> DeltaTargetProperty
set PropertyType "ConnectionName" DeltaTargetProperty
newValue DeltaTargetProperty {Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: DeltaTargetProperty -> ()
connectionName :: DeltaTargetProperty -> Maybe (Value Text)
createNativeDeltaTable :: DeltaTargetProperty -> Maybe (Value Bool)
deltaTables :: DeltaTargetProperty -> Maybe (ValueList Text)
writeManifest :: DeltaTargetProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
    = DeltaTargetProperty {connectionName :: Maybe (Value Text)
connectionName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ConnectionName" DeltaTargetProperty
Value Text
newValue, Maybe (ValueList Text)
Maybe (Value Bool)
()
haddock_workaround_ :: ()
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
haddock_workaround_ :: ()
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
instance Property "CreateNativeDeltaTable" DeltaTargetProperty where
  type PropertyType "CreateNativeDeltaTable" DeltaTargetProperty = Value Prelude.Bool
  set :: PropertyType "CreateNativeDeltaTable" DeltaTargetProperty
-> DeltaTargetProperty -> DeltaTargetProperty
set PropertyType "CreateNativeDeltaTable" DeltaTargetProperty
newValue DeltaTargetProperty {Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: DeltaTargetProperty -> ()
connectionName :: DeltaTargetProperty -> Maybe (Value Text)
createNativeDeltaTable :: DeltaTargetProperty -> Maybe (Value Bool)
deltaTables :: DeltaTargetProperty -> Maybe (ValueList Text)
writeManifest :: DeltaTargetProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
    = DeltaTargetProperty
        {createNativeDeltaTable :: Maybe (Value Bool)
createNativeDeltaTable = Value Bool -> Maybe (Value Bool)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "CreateNativeDeltaTable" DeltaTargetProperty
Value Bool
newValue, Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
instance Property "DeltaTables" DeltaTargetProperty where
  type PropertyType "DeltaTables" DeltaTargetProperty = ValueList Prelude.Text
  set :: PropertyType "DeltaTables" DeltaTargetProperty
-> DeltaTargetProperty -> DeltaTargetProperty
set PropertyType "DeltaTables" DeltaTargetProperty
newValue DeltaTargetProperty {Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: DeltaTargetProperty -> ()
connectionName :: DeltaTargetProperty -> Maybe (Value Text)
createNativeDeltaTable :: DeltaTargetProperty -> Maybe (Value Bool)
deltaTables :: DeltaTargetProperty -> Maybe (ValueList Text)
writeManifest :: DeltaTargetProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
    = DeltaTargetProperty {deltaTables :: Maybe (ValueList Text)
deltaTables = ValueList Text -> Maybe (ValueList Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "DeltaTables" DeltaTargetProperty
ValueList Text
newValue, Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
writeManifest :: Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
writeManifest :: Maybe (Value Bool)
..}
instance Property "WriteManifest" DeltaTargetProperty where
  type PropertyType "WriteManifest" DeltaTargetProperty = Value Prelude.Bool
  set :: PropertyType "WriteManifest" DeltaTargetProperty
-> DeltaTargetProperty -> DeltaTargetProperty
set PropertyType "WriteManifest" DeltaTargetProperty
newValue DeltaTargetProperty {Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: DeltaTargetProperty -> ()
connectionName :: DeltaTargetProperty -> Maybe (Value Text)
createNativeDeltaTable :: DeltaTargetProperty -> Maybe (Value Bool)
deltaTables :: DeltaTargetProperty -> Maybe (ValueList Text)
writeManifest :: DeltaTargetProperty -> Maybe (Value Bool)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
writeManifest :: Maybe (Value Bool)
..}
    = DeltaTargetProperty {writeManifest :: Maybe (Value Bool)
writeManifest = Value Bool -> Maybe (Value Bool)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "WriteManifest" DeltaTargetProperty
Value Bool
newValue, Maybe (ValueList Text)
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
haddock_workaround_ :: ()
connectionName :: Maybe (Value Text)
createNativeDeltaTable :: Maybe (Value Bool)
deltaTables :: Maybe (ValueList Text)
..}