module Stratosphere.Glue.TableOptimizer (
        module Exports, TableOptimizer(..), mkTableOptimizer
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Glue.TableOptimizer.TableOptimizerConfigurationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TableOptimizer
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html>
    TableOptimizer {TableOptimizer -> ()
haddock_workaround_ :: (),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html#cfn-glue-tableoptimizer-catalogid>
                    TableOptimizer -> Value Text
catalogId :: (Value Prelude.Text),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html#cfn-glue-tableoptimizer-databasename>
                    TableOptimizer -> Value Text
databaseName :: (Value Prelude.Text),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html#cfn-glue-tableoptimizer-tablename>
                    TableOptimizer -> Value Text
tableName :: (Value Prelude.Text),
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html#cfn-glue-tableoptimizer-tableoptimizerconfiguration>
                    TableOptimizer -> TableOptimizerConfigurationProperty
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty,
                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html#cfn-glue-tableoptimizer-type>
                    TableOptimizer -> Value Text
type' :: (Value Prelude.Text)}
  deriving stock (TableOptimizer -> TableOptimizer -> Bool
(TableOptimizer -> TableOptimizer -> Bool)
-> (TableOptimizer -> TableOptimizer -> Bool) -> Eq TableOptimizer
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TableOptimizer -> TableOptimizer -> Bool
== :: TableOptimizer -> TableOptimizer -> Bool
$c/= :: TableOptimizer -> TableOptimizer -> Bool
/= :: TableOptimizer -> TableOptimizer -> Bool
Prelude.Eq, Int -> TableOptimizer -> ShowS
[TableOptimizer] -> ShowS
TableOptimizer -> String
(Int -> TableOptimizer -> ShowS)
-> (TableOptimizer -> String)
-> ([TableOptimizer] -> ShowS)
-> Show TableOptimizer
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TableOptimizer -> ShowS
showsPrec :: Int -> TableOptimizer -> ShowS
$cshow :: TableOptimizer -> String
show :: TableOptimizer -> String
$cshowList :: [TableOptimizer] -> ShowS
showList :: [TableOptimizer] -> ShowS
Prelude.Show)
mkTableOptimizer ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text
        -> TableOptimizerConfigurationProperty
           -> Value Prelude.Text -> TableOptimizer
mkTableOptimizer :: Value Text
-> Value Text
-> Value Text
-> TableOptimizerConfigurationProperty
-> Value Text
-> TableOptimizer
mkTableOptimizer
  Value Text
catalogId
  Value Text
databaseName
  Value Text
tableName
  TableOptimizerConfigurationProperty
tableOptimizerConfiguration
  Value Text
type'
  = TableOptimizer
      {haddock_workaround_ :: ()
haddock_workaround_ = (), catalogId :: Value Text
catalogId = Value Text
catalogId,
       databaseName :: Value Text
databaseName = Value Text
databaseName, tableName :: Value Text
tableName = Value Text
tableName,
       tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
tableOptimizerConfiguration = TableOptimizerConfigurationProperty
tableOptimizerConfiguration,
       type' :: Value Text
type' = Value Text
type'}
instance ToResourceProperties TableOptimizer where
  toResourceProperties :: TableOptimizer -> ResourceProperties
toResourceProperties TableOptimizer {()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: TableOptimizer -> ()
catalogId :: TableOptimizer -> Value Text
databaseName :: TableOptimizer -> Value Text
tableName :: TableOptimizer -> Value Text
tableOptimizerConfiguration :: TableOptimizer -> TableOptimizerConfigurationProperty
type' :: TableOptimizer -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Glue::TableOptimizer",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CatalogId" 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
catalogId,
                       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, Key
"TableName" 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
tableName,
                       Key
"TableOptimizerConfiguration" Key -> TableOptimizerConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= TableOptimizerConfigurationProperty
tableOptimizerConfiguration,
                       Key
"Type" 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
type']}
instance JSON.ToJSON TableOptimizer where
  toJSON :: TableOptimizer -> Value
toJSON TableOptimizer {()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: TableOptimizer -> ()
catalogId :: TableOptimizer -> Value Text
databaseName :: TableOptimizer -> Value Text
tableName :: TableOptimizer -> Value Text
tableOptimizerConfiguration :: TableOptimizer -> TableOptimizerConfigurationProperty
type' :: TableOptimizer -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"CatalogId" 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
catalogId,
         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, Key
"TableName" 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
tableName,
         Key
"TableOptimizerConfiguration" Key -> TableOptimizerConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= TableOptimizerConfigurationProperty
tableOptimizerConfiguration,
         Key
"Type" 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
type']
instance Property "CatalogId" TableOptimizer where
  type PropertyType "CatalogId" TableOptimizer = Value Prelude.Text
  set :: PropertyType "CatalogId" TableOptimizer
-> TableOptimizer -> TableOptimizer
set PropertyType "CatalogId" TableOptimizer
newValue TableOptimizer {()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: TableOptimizer -> ()
catalogId :: TableOptimizer -> Value Text
databaseName :: TableOptimizer -> Value Text
tableName :: TableOptimizer -> Value Text
tableOptimizerConfiguration :: TableOptimizer -> TableOptimizerConfigurationProperty
type' :: TableOptimizer -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
    = TableOptimizer {catalogId :: Value Text
catalogId = PropertyType "CatalogId" TableOptimizer
Value Text
newValue, ()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: ()
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
instance Property "DatabaseName" TableOptimizer where
  type PropertyType "DatabaseName" TableOptimizer = Value Prelude.Text
  set :: PropertyType "DatabaseName" TableOptimizer
-> TableOptimizer -> TableOptimizer
set PropertyType "DatabaseName" TableOptimizer
newValue TableOptimizer {()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: TableOptimizer -> ()
catalogId :: TableOptimizer -> Value Text
databaseName :: TableOptimizer -> Value Text
tableName :: TableOptimizer -> Value Text
tableOptimizerConfiguration :: TableOptimizer -> TableOptimizerConfigurationProperty
type' :: TableOptimizer -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
    = TableOptimizer {databaseName :: Value Text
databaseName = PropertyType "DatabaseName" TableOptimizer
Value Text
newValue, ()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: ()
catalogId :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
instance Property "TableName" TableOptimizer where
  type PropertyType "TableName" TableOptimizer = Value Prelude.Text
  set :: PropertyType "TableName" TableOptimizer
-> TableOptimizer -> TableOptimizer
set PropertyType "TableName" TableOptimizer
newValue TableOptimizer {()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: TableOptimizer -> ()
catalogId :: TableOptimizer -> Value Text
databaseName :: TableOptimizer -> Value Text
tableName :: TableOptimizer -> Value Text
tableOptimizerConfiguration :: TableOptimizer -> TableOptimizerConfigurationProperty
type' :: TableOptimizer -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
    = TableOptimizer {tableName :: Value Text
tableName = PropertyType "TableName" TableOptimizer
Value Text
newValue, ()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
instance Property "TableOptimizerConfiguration" TableOptimizer where
  type PropertyType "TableOptimizerConfiguration" TableOptimizer = TableOptimizerConfigurationProperty
  set :: PropertyType "TableOptimizerConfiguration" TableOptimizer
-> TableOptimizer -> TableOptimizer
set PropertyType "TableOptimizerConfiguration" TableOptimizer
newValue TableOptimizer {()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: TableOptimizer -> ()
catalogId :: TableOptimizer -> Value Text
databaseName :: TableOptimizer -> Value Text
tableName :: TableOptimizer -> Value Text
tableOptimizerConfiguration :: TableOptimizer -> TableOptimizerConfigurationProperty
type' :: TableOptimizer -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
    = TableOptimizer {tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
tableOptimizerConfiguration = PropertyType "TableOptimizerConfiguration" TableOptimizer
TableOptimizerConfigurationProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
type' :: Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
type' :: Value Text
..}
instance Property "Type" TableOptimizer where
  type PropertyType "Type" TableOptimizer = Value Prelude.Text
  set :: PropertyType "Type" TableOptimizer
-> TableOptimizer -> TableOptimizer
set PropertyType "Type" TableOptimizer
newValue TableOptimizer {()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: TableOptimizer -> ()
catalogId :: TableOptimizer -> Value Text
databaseName :: TableOptimizer -> Value Text
tableName :: TableOptimizer -> Value Text
tableOptimizerConfiguration :: TableOptimizer -> TableOptimizerConfigurationProperty
type' :: TableOptimizer -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
type' :: Value Text
..}
    = TableOptimizer {type' :: Value Text
type' = PropertyType "Type" TableOptimizer
Value Text
newValue, ()
Value Text
TableOptimizerConfigurationProperty
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
tableName :: Value Text
tableOptimizerConfiguration :: TableOptimizerConfigurationProperty
..}