module Stratosphere.LakeFormation.PrincipalPermissions.DataCellsFilterResourceProperty (
        DataCellsFilterResourceProperty(..),
        mkDataCellsFilterResourceProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DataCellsFilterResourceProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datacellsfilterresource.html>
    DataCellsFilterResourceProperty {DataCellsFilterResourceProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datacellsfilterresource.html#cfn-lakeformation-principalpermissions-datacellsfilterresource-databasename>
                                     DataCellsFilterResourceProperty -> Value Text
databaseName :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datacellsfilterresource.html#cfn-lakeformation-principalpermissions-datacellsfilterresource-name>
                                     DataCellsFilterResourceProperty -> Value Text
name :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datacellsfilterresource.html#cfn-lakeformation-principalpermissions-datacellsfilterresource-tablecatalogid>
                                     DataCellsFilterResourceProperty -> Value Text
tableCatalogId :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datacellsfilterresource.html#cfn-lakeformation-principalpermissions-datacellsfilterresource-tablename>
                                     DataCellsFilterResourceProperty -> Value Text
tableName :: (Value Prelude.Text)}
  deriving stock (DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty -> Bool
(DataCellsFilterResourceProperty
 -> DataCellsFilterResourceProperty -> Bool)
-> (DataCellsFilterResourceProperty
    -> DataCellsFilterResourceProperty -> Bool)
-> Eq DataCellsFilterResourceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty -> Bool
== :: DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty -> Bool
$c/= :: DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty -> Bool
/= :: DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty -> Bool
Prelude.Eq, Int -> DataCellsFilterResourceProperty -> ShowS
[DataCellsFilterResourceProperty] -> ShowS
DataCellsFilterResourceProperty -> String
(Int -> DataCellsFilterResourceProperty -> ShowS)
-> (DataCellsFilterResourceProperty -> String)
-> ([DataCellsFilterResourceProperty] -> ShowS)
-> Show DataCellsFilterResourceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DataCellsFilterResourceProperty -> ShowS
showsPrec :: Int -> DataCellsFilterResourceProperty -> ShowS
$cshow :: DataCellsFilterResourceProperty -> String
show :: DataCellsFilterResourceProperty -> String
$cshowList :: [DataCellsFilterResourceProperty] -> ShowS
showList :: [DataCellsFilterResourceProperty] -> ShowS
Prelude.Show)
mkDataCellsFilterResourceProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text
        -> Value Prelude.Text -> DataCellsFilterResourceProperty
mkDataCellsFilterResourceProperty :: Value Text
-> Value Text
-> Value Text
-> Value Text
-> DataCellsFilterResourceProperty
mkDataCellsFilterResourceProperty
  Value Text
databaseName
  Value Text
name
  Value Text
tableCatalogId
  Value Text
tableName
  = DataCellsFilterResourceProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), databaseName :: Value Text
databaseName = Value Text
databaseName,
       name :: Value Text
name = Value Text
name, tableCatalogId :: Value Text
tableCatalogId = Value Text
tableCatalogId,
       tableName :: Value Text
tableName = Value Text
tableName}
instance ToResourceProperties DataCellsFilterResourceProperty where
  toResourceProperties :: DataCellsFilterResourceProperty -> ResourceProperties
toResourceProperties DataCellsFilterResourceProperty {()
Value Text
haddock_workaround_ :: DataCellsFilterResourceProperty -> ()
databaseName :: DataCellsFilterResourceProperty -> Value Text
name :: DataCellsFilterResourceProperty -> Value Text
tableCatalogId :: DataCellsFilterResourceProperty -> Value Text
tableName :: DataCellsFilterResourceProperty -> Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::LakeFormation::PrincipalPermissions.DataCellsFilterResource",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [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, Key
"TableCatalogId" 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
tableCatalogId,
                       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]}
instance JSON.ToJSON DataCellsFilterResourceProperty where
  toJSON :: DataCellsFilterResourceProperty -> Value
toJSON DataCellsFilterResourceProperty {()
Value Text
haddock_workaround_ :: DataCellsFilterResourceProperty -> ()
databaseName :: DataCellsFilterResourceProperty -> Value Text
name :: DataCellsFilterResourceProperty -> Value Text
tableCatalogId :: DataCellsFilterResourceProperty -> Value Text
tableName :: DataCellsFilterResourceProperty -> Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [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,
         Key
"TableCatalogId" 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
tableCatalogId,
         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]
instance Property "DatabaseName" DataCellsFilterResourceProperty where
  type PropertyType "DatabaseName" DataCellsFilterResourceProperty = Value Prelude.Text
  set :: PropertyType "DatabaseName" DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
set PropertyType "DatabaseName" DataCellsFilterResourceProperty
newValue DataCellsFilterResourceProperty {()
Value Text
haddock_workaround_ :: DataCellsFilterResourceProperty -> ()
databaseName :: DataCellsFilterResourceProperty -> Value Text
name :: DataCellsFilterResourceProperty -> Value Text
tableCatalogId :: DataCellsFilterResourceProperty -> Value Text
tableName :: DataCellsFilterResourceProperty -> Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
    = DataCellsFilterResourceProperty {databaseName :: Value Text
databaseName = PropertyType "DatabaseName" DataCellsFilterResourceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
haddock_workaround_ :: ()
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
instance Property "Name" DataCellsFilterResourceProperty where
  type PropertyType "Name" DataCellsFilterResourceProperty = Value Prelude.Text
  set :: PropertyType "Name" DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
set PropertyType "Name" DataCellsFilterResourceProperty
newValue DataCellsFilterResourceProperty {()
Value Text
haddock_workaround_ :: DataCellsFilterResourceProperty -> ()
databaseName :: DataCellsFilterResourceProperty -> Value Text
name :: DataCellsFilterResourceProperty -> Value Text
tableCatalogId :: DataCellsFilterResourceProperty -> Value Text
tableName :: DataCellsFilterResourceProperty -> Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
    = DataCellsFilterResourceProperty {name :: Value Text
name = PropertyType "Name" DataCellsFilterResourceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
instance Property "TableCatalogId" DataCellsFilterResourceProperty where
  type PropertyType "TableCatalogId" DataCellsFilterResourceProperty = Value Prelude.Text
  set :: PropertyType "TableCatalogId" DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
set PropertyType "TableCatalogId" DataCellsFilterResourceProperty
newValue DataCellsFilterResourceProperty {()
Value Text
haddock_workaround_ :: DataCellsFilterResourceProperty -> ()
databaseName :: DataCellsFilterResourceProperty -> Value Text
name :: DataCellsFilterResourceProperty -> Value Text
tableCatalogId :: DataCellsFilterResourceProperty -> Value Text
tableName :: DataCellsFilterResourceProperty -> Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
    = DataCellsFilterResourceProperty {tableCatalogId :: Value Text
tableCatalogId = PropertyType "TableCatalogId" DataCellsFilterResourceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableName :: Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableName :: Value Text
..}
instance Property "TableName" DataCellsFilterResourceProperty where
  type PropertyType "TableName" DataCellsFilterResourceProperty = Value Prelude.Text
  set :: PropertyType "TableName" DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
-> DataCellsFilterResourceProperty
set PropertyType "TableName" DataCellsFilterResourceProperty
newValue DataCellsFilterResourceProperty {()
Value Text
haddock_workaround_ :: DataCellsFilterResourceProperty -> ()
databaseName :: DataCellsFilterResourceProperty -> Value Text
name :: DataCellsFilterResourceProperty -> Value Text
tableCatalogId :: DataCellsFilterResourceProperty -> Value Text
tableName :: DataCellsFilterResourceProperty -> Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
tableName :: Value Text
..}
    = DataCellsFilterResourceProperty {tableName :: Value Text
tableName = PropertyType "TableName" DataCellsFilterResourceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
name :: Value Text
tableCatalogId :: Value Text
..}