module Stratosphere.LakeFormation.TagAssociation.TableWithColumnsResourceProperty (
        TableWithColumnsResourceProperty(..),
        mkTableWithColumnsResourceProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TableWithColumnsResourceProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-tablewithcolumnsresource.html>
    TableWithColumnsResourceProperty {TableWithColumnsResourceProperty -> ()
haddock_workaround_ :: (),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-tablewithcolumnsresource.html#cfn-lakeformation-tagassociation-tablewithcolumnsresource-catalogid>
                                      TableWithColumnsResourceProperty -> Value Text
catalogId :: (Value Prelude.Text),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-tablewithcolumnsresource.html#cfn-lakeformation-tagassociation-tablewithcolumnsresource-columnnames>
                                      TableWithColumnsResourceProperty -> ValueList Text
columnNames :: (ValueList Prelude.Text),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-tablewithcolumnsresource.html#cfn-lakeformation-tagassociation-tablewithcolumnsresource-databasename>
                                      TableWithColumnsResourceProperty -> Value Text
databaseName :: (Value Prelude.Text),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-tablewithcolumnsresource.html#cfn-lakeformation-tagassociation-tablewithcolumnsresource-name>
                                      TableWithColumnsResourceProperty -> Value Text
name :: (Value Prelude.Text)}
  deriving stock (TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty -> Bool
(TableWithColumnsResourceProperty
 -> TableWithColumnsResourceProperty -> Bool)
-> (TableWithColumnsResourceProperty
    -> TableWithColumnsResourceProperty -> Bool)
-> Eq TableWithColumnsResourceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty -> Bool
== :: TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty -> Bool
$c/= :: TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty -> Bool
/= :: TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty -> Bool
Prelude.Eq, Int -> TableWithColumnsResourceProperty -> ShowS
[TableWithColumnsResourceProperty] -> ShowS
TableWithColumnsResourceProperty -> String
(Int -> TableWithColumnsResourceProperty -> ShowS)
-> (TableWithColumnsResourceProperty -> String)
-> ([TableWithColumnsResourceProperty] -> ShowS)
-> Show TableWithColumnsResourceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TableWithColumnsResourceProperty -> ShowS
showsPrec :: Int -> TableWithColumnsResourceProperty -> ShowS
$cshow :: TableWithColumnsResourceProperty -> String
show :: TableWithColumnsResourceProperty -> String
$cshowList :: [TableWithColumnsResourceProperty] -> ShowS
showList :: [TableWithColumnsResourceProperty] -> ShowS
Prelude.Show)
mkTableWithColumnsResourceProperty ::
  Value Prelude.Text
  -> ValueList Prelude.Text
     -> Value Prelude.Text
        -> Value Prelude.Text -> TableWithColumnsResourceProperty
mkTableWithColumnsResourceProperty :: Value Text
-> ValueList Text
-> Value Text
-> Value Text
-> TableWithColumnsResourceProperty
mkTableWithColumnsResourceProperty
  Value Text
catalogId
  ValueList Text
columnNames
  Value Text
databaseName
  Value Text
name
  = TableWithColumnsResourceProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), catalogId :: Value Text
catalogId = Value Text
catalogId,
       columnNames :: ValueList Text
columnNames = ValueList Text
columnNames, databaseName :: Value Text
databaseName = Value Text
databaseName,
       name :: Value Text
name = Value Text
name}
instance ToResourceProperties TableWithColumnsResourceProperty where
  toResourceProperties :: TableWithColumnsResourceProperty -> ResourceProperties
toResourceProperties TableWithColumnsResourceProperty {()
ValueList Text
Value Text
haddock_workaround_ :: TableWithColumnsResourceProperty -> ()
catalogId :: TableWithColumnsResourceProperty -> Value Text
columnNames :: TableWithColumnsResourceProperty -> ValueList Text
databaseName :: TableWithColumnsResourceProperty -> Value Text
name :: TableWithColumnsResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
name :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::LakeFormation::TagAssociation.TableWithColumnsResource",
         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
"ColumnNames" 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..= ValueList Text
columnNames,
                       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
"Name" 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
name]}
instance JSON.ToJSON TableWithColumnsResourceProperty where
  toJSON :: TableWithColumnsResourceProperty -> Value
toJSON TableWithColumnsResourceProperty {()
ValueList Text
Value Text
haddock_workaround_ :: TableWithColumnsResourceProperty -> ()
catalogId :: TableWithColumnsResourceProperty -> Value Text
columnNames :: TableWithColumnsResourceProperty -> ValueList Text
databaseName :: TableWithColumnsResourceProperty -> Value Text
name :: TableWithColumnsResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
name :: 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
"ColumnNames" 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..= ValueList Text
columnNames,
         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
"Name" 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
name]
instance Property "CatalogId" TableWithColumnsResourceProperty where
  type PropertyType "CatalogId" TableWithColumnsResourceProperty = Value Prelude.Text
  set :: PropertyType "CatalogId" TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
set PropertyType "CatalogId" TableWithColumnsResourceProperty
newValue TableWithColumnsResourceProperty {()
ValueList Text
Value Text
haddock_workaround_ :: TableWithColumnsResourceProperty -> ()
catalogId :: TableWithColumnsResourceProperty -> Value Text
columnNames :: TableWithColumnsResourceProperty -> ValueList Text
databaseName :: TableWithColumnsResourceProperty -> Value Text
name :: TableWithColumnsResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
name :: Value Text
..}
    = TableWithColumnsResourceProperty {catalogId :: Value Text
catalogId = PropertyType "CatalogId" TableWithColumnsResourceProperty
Value Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
columnNames :: ValueList Text
databaseName :: Value Text
name :: Value Text
haddock_workaround_ :: ()
columnNames :: ValueList Text
databaseName :: Value Text
name :: Value Text
..}
instance Property "ColumnNames" TableWithColumnsResourceProperty where
  type PropertyType "ColumnNames" TableWithColumnsResourceProperty = ValueList Prelude.Text
  set :: PropertyType "ColumnNames" TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
set PropertyType "ColumnNames" TableWithColumnsResourceProperty
newValue TableWithColumnsResourceProperty {()
ValueList Text
Value Text
haddock_workaround_ :: TableWithColumnsResourceProperty -> ()
catalogId :: TableWithColumnsResourceProperty -> Value Text
columnNames :: TableWithColumnsResourceProperty -> ValueList Text
databaseName :: TableWithColumnsResourceProperty -> Value Text
name :: TableWithColumnsResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
name :: Value Text
..}
    = TableWithColumnsResourceProperty {columnNames :: ValueList Text
columnNames = PropertyType "ColumnNames" TableWithColumnsResourceProperty
ValueList Text
newValue, ()
Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
name :: Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
databaseName :: Value Text
name :: Value Text
..}
instance Property "DatabaseName" TableWithColumnsResourceProperty where
  type PropertyType "DatabaseName" TableWithColumnsResourceProperty = Value Prelude.Text
  set :: PropertyType "DatabaseName" TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
set PropertyType "DatabaseName" TableWithColumnsResourceProperty
newValue TableWithColumnsResourceProperty {()
ValueList Text
Value Text
haddock_workaround_ :: TableWithColumnsResourceProperty -> ()
catalogId :: TableWithColumnsResourceProperty -> Value Text
columnNames :: TableWithColumnsResourceProperty -> ValueList Text
databaseName :: TableWithColumnsResourceProperty -> Value Text
name :: TableWithColumnsResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
name :: Value Text
..}
    = TableWithColumnsResourceProperty {databaseName :: Value Text
databaseName = PropertyType "DatabaseName" TableWithColumnsResourceProperty
Value Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
name :: Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
name :: Value Text
..}
instance Property "Name" TableWithColumnsResourceProperty where
  type PropertyType "Name" TableWithColumnsResourceProperty = Value Prelude.Text
  set :: PropertyType "Name" TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
-> TableWithColumnsResourceProperty
set PropertyType "Name" TableWithColumnsResourceProperty
newValue TableWithColumnsResourceProperty {()
ValueList Text
Value Text
haddock_workaround_ :: TableWithColumnsResourceProperty -> ()
catalogId :: TableWithColumnsResourceProperty -> Value Text
columnNames :: TableWithColumnsResourceProperty -> ValueList Text
databaseName :: TableWithColumnsResourceProperty -> Value Text
name :: TableWithColumnsResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
name :: Value Text
..}
    = TableWithColumnsResourceProperty {name :: Value Text
name = PropertyType "Name" TableWithColumnsResourceProperty
Value Text
newValue, ()
ValueList Text
Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
columnNames :: ValueList Text
databaseName :: Value Text
..}